001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions Copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2008 Sun Microsystems, Inc. 015 */ 016package org.forgerock.opendj.server.config.client; 017 018 019 020import java.util.Collection; 021import org.forgerock.opendj.config.client.ConcurrentModificationException; 022import org.forgerock.opendj.config.client.IllegalManagedObjectNameException; 023import org.forgerock.opendj.config.client.ManagedObjectDecodingException; 024import org.forgerock.opendj.config.client.OperationRejectedException; 025import org.forgerock.opendj.config.ConfigurationClient; 026import org.forgerock.opendj.config.DefinitionDecodingException; 027import org.forgerock.opendj.config.ManagedObjectDefinition; 028import org.forgerock.opendj.config.ManagedObjectNotFoundException; 029import org.forgerock.opendj.config.PropertyException; 030import org.forgerock.opendj.ldap.LdapException; 031import org.forgerock.opendj.server.config.server.AccountStatusNotificationHandlerCfg; 032import org.forgerock.opendj.server.config.server.AlertHandlerCfg; 033import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg; 034import org.forgerock.opendj.server.config.server.AuthenticationPolicyCfg; 035import org.forgerock.opendj.server.config.server.BackendCfg; 036import org.forgerock.opendj.server.config.server.CertificateMapperCfg; 037import org.forgerock.opendj.server.config.server.ConnectionHandlerCfg; 038import org.forgerock.opendj.server.config.server.EntryCacheCfg; 039import org.forgerock.opendj.server.config.server.ExtendedOperationHandlerCfg; 040import org.forgerock.opendj.server.config.server.GroupImplementationCfg; 041import org.forgerock.opendj.server.config.server.IdentityMapperCfg; 042import org.forgerock.opendj.server.config.server.KeyManagerProviderCfg; 043import org.forgerock.opendj.server.config.server.LogPublisherCfg; 044import org.forgerock.opendj.server.config.server.LogRetentionPolicyCfg; 045import org.forgerock.opendj.server.config.server.LogRotationPolicyCfg; 046import org.forgerock.opendj.server.config.server.MatchingRuleCfg; 047import org.forgerock.opendj.server.config.server.MonitorProviderCfg; 048import org.forgerock.opendj.server.config.server.PasswordGeneratorCfg; 049import org.forgerock.opendj.server.config.server.PasswordStorageSchemeCfg; 050import org.forgerock.opendj.server.config.server.PasswordValidatorCfg; 051import org.forgerock.opendj.server.config.server.RootCfg; 052import org.forgerock.opendj.server.config.server.SASLMechanismHandlerCfg; 053import org.forgerock.opendj.server.config.server.SchemaProviderCfg; 054import org.forgerock.opendj.server.config.server.SynchronizationProviderCfg; 055import org.forgerock.opendj.server.config.server.TrustManagerProviderCfg; 056import org.forgerock.opendj.server.config.server.VirtualAttributeCfg; 057 058 059 060/** 061 * A client-side interface for reading and modifying Root settings. 062 * <p> 063 * The root configuration provides an entry point to the rest of the 064 * OpenDJ configuration. 065 */ 066public interface RootCfgClient extends ConfigurationClient { 067 068 /** 069 * Get the configuration definition associated with this Root. 070 * 071 * @return Returns the configuration definition associated with this Root. 072 */ 073 ManagedObjectDefinition<? extends RootCfgClient, ? extends RootCfg> definition(); 074 075 076 077 /** 078 * Gets the Access Control Handler. 079 * 080 * @return Returns the Access Control Handler. 081 * @throws DefinitionDecodingException 082 * If the Access Control Handler was found but its type 083 * could not be determined. 084 * @throws ManagedObjectDecodingException 085 * If the Access Control Handler was found but one or more 086 * of its properties could not be decoded. 087 * @throws ManagedObjectNotFoundException 088 * If the Access Control Handler could not be found on the 089 * server. 090 * @throws ConcurrentModificationException 091 * If this Root has been removed from the server by 092 * another client. 093 * @throws LdapException 094 * If any other error occurs. 095 */ 096 AccessControlHandlerCfgClient getAccessControlHandler() 097 throws DefinitionDecodingException, ManagedObjectDecodingException, 098 ManagedObjectNotFoundException, ConcurrentModificationException, 099 LdapException; 100 101 102 103 /** 104 * Lists the Account Status Notification Handlers. 105 * 106 * @return Returns an array containing the names of the Account 107 * Status Notification Handlers. 108 * @throws ConcurrentModificationException 109 * If this Root has been removed from the server by 110 * another client. 111 * @throws LdapException 112 * If any other error occurs. 113 */ 114 String[] listAccountStatusNotificationHandlers() throws ConcurrentModificationException, 115 LdapException; 116 117 118 119 /** 120 * Gets the named Account Status Notification Handler. 121 * 122 * @param name 123 * The name of the Account Status Notification Handler to 124 * retrieve. 125 * @return Returns the named Account Status Notification Handler. 126 * @throws DefinitionDecodingException 127 * If the named Account Status Notification Handler was 128 * found but its type could not be determined. 129 * @throws ManagedObjectDecodingException 130 * If the named Account Status Notification Handler was 131 * found but one or more of its properties could not be 132 * decoded. 133 * @throws ManagedObjectNotFoundException 134 * If the named Account Status Notification Handler was 135 * not found on the server. 136 * @throws ConcurrentModificationException 137 * If this Root has been removed from the server by 138 * another client. 139 * @throws LdapException 140 * If any other error occurs. 141 */ 142 AccountStatusNotificationHandlerCfgClient getAccountStatusNotificationHandler(String name) 143 throws DefinitionDecodingException, ManagedObjectDecodingException, 144 ManagedObjectNotFoundException, ConcurrentModificationException, 145 LdapException; 146 147 148 149 /** 150 * Creates a new Account Status Notification Handler. The new 151 * Account Status Notification Handler will initially not contain any 152 * property values (including mandatory properties). Once the Account 153 * Status Notification Handler has been configured it can be added to 154 * the server using the {@link #commit()} method. 155 * 156 * @param <C> 157 * The type of the Account Status Notification Handler 158 * being created. 159 * @param d 160 * The definition of the Account Status Notification 161 * Handler to be created. 162 * @param name 163 * The name of the new Account Status Notification Handler. 164 * @param exceptions 165 * An optional collection in which to place any {@link 166 * PropertyException}s that occurred whilst attempting to 167 * determine the default values of the Account Status 168 * Notification Handler. This argument can be 169 * <code>null<code>. 170 * @return Returns a new Account Status Notification Handler 171 * configuration instance. 172 * @throws IllegalManagedObjectNameException 173 * If the name of the new Account Status Notification 174 * Handler is invalid. 175 */ 176 <C extends AccountStatusNotificationHandlerCfgClient> C createAccountStatusNotificationHandler( 177 ManagedObjectDefinition<C, ? extends AccountStatusNotificationHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 178 179 180 181 /** 182 * Removes the named Account Status Notification Handler. 183 * 184 * @param name 185 * The name of the Account Status Notification Handler to 186 * remove. 187 * @throws ManagedObjectNotFoundException 188 * If the Account Status Notification Handler does not 189 * exist. 190 * @throws OperationRejectedException 191 * If the server refuses to remove the Account Status 192 * Notification Handler due to some server-side constraint 193 * which cannot be satisfied (for example, if it is 194 * referenced by another managed object). 195 * @throws ConcurrentModificationException 196 * If this Root has been removed from the server by 197 * another client. 198 * @throws LdapException 199 * If any other error occurs. 200 */ 201 void removeAccountStatusNotificationHandler(String name) 202 throws ManagedObjectNotFoundException, OperationRejectedException, 203 ConcurrentModificationException, LdapException; 204 205 206 207 /** 208 * Gets the Administration Connector. 209 * 210 * @return Returns the Administration Connector. 211 * @throws DefinitionDecodingException 212 * If the Administration Connector was found but its type 213 * could not be determined. 214 * @throws ManagedObjectDecodingException 215 * If the Administration Connector was found but one or 216 * more of its properties could not be decoded. 217 * @throws ManagedObjectNotFoundException 218 * If the Administration Connector could not be found on 219 * the server. 220 * @throws ConcurrentModificationException 221 * If this Root has been removed from the server by 222 * another client. 223 * @throws LdapException 224 * If any other error occurs. 225 */ 226 AdministrationConnectorCfgClient getAdministrationConnector() 227 throws DefinitionDecodingException, ManagedObjectDecodingException, 228 ManagedObjectNotFoundException, ConcurrentModificationException, 229 LdapException; 230 231 232 233 /** 234 * Lists the Alert Handlers. 235 * 236 * @return Returns an array containing the names of the Alert 237 * Handlers. 238 * @throws ConcurrentModificationException 239 * If this Root has been removed from the server by 240 * another client. 241 * @throws LdapException 242 * If any other error occurs. 243 */ 244 String[] listAlertHandlers() throws ConcurrentModificationException, 245 LdapException; 246 247 248 249 /** 250 * Gets the named Alert Handler. 251 * 252 * @param name 253 * The name of the Alert Handler to retrieve. 254 * @return Returns the named Alert Handler. 255 * @throws DefinitionDecodingException 256 * If the named Alert Handler was found but its type could 257 * not be determined. 258 * @throws ManagedObjectDecodingException 259 * If the named Alert Handler was found but one or more of 260 * its properties could not be decoded. 261 * @throws ManagedObjectNotFoundException 262 * If the named Alert Handler was not found on the server. 263 * @throws ConcurrentModificationException 264 * If this Root has been removed from the server by 265 * another client. 266 * @throws LdapException 267 * If any other error occurs. 268 */ 269 AlertHandlerCfgClient getAlertHandler(String name) 270 throws DefinitionDecodingException, ManagedObjectDecodingException, 271 ManagedObjectNotFoundException, ConcurrentModificationException, 272 LdapException; 273 274 275 276 /** 277 * Creates a new Alert Handler. The new Alert Handler will initially 278 * not contain any property values (including mandatory properties). 279 * Once the Alert Handler has been configured it can be added to the 280 * server using the {@link #commit()} method. 281 * 282 * @param <C> 283 * The type of the Alert Handler being created. 284 * @param d 285 * The definition of the Alert Handler to be created. 286 * @param name 287 * The name of the new Alert Handler. 288 * @param exceptions 289 * An optional collection in which to place any {@link 290 * PropertyException}s that occurred whilst attempting to 291 * determine the default values of the Alert Handler. This 292 * argument can be <code>null<code>. 293 * @return Returns a new Alert Handler configuration instance. 294 * @throws IllegalManagedObjectNameException 295 * If the name of the new Alert Handler is invalid. 296 */ 297 <C extends AlertHandlerCfgClient> C createAlertHandler( 298 ManagedObjectDefinition<C, ? extends AlertHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 299 300 301 302 /** 303 * Removes the named Alert Handler. 304 * 305 * @param name 306 * The name of the Alert Handler to remove. 307 * @throws ManagedObjectNotFoundException 308 * If the Alert Handler does not exist. 309 * @throws OperationRejectedException 310 * If the server refuses to remove the Alert Handler due 311 * to some server-side constraint which cannot be satisfied 312 * (for example, if it is referenced by another managed 313 * object). 314 * @throws ConcurrentModificationException 315 * If this Root has been removed from the server by 316 * another client. 317 * @throws LdapException 318 * If any other error occurs. 319 */ 320 void removeAlertHandler(String name) 321 throws ManagedObjectNotFoundException, OperationRejectedException, 322 ConcurrentModificationException, LdapException; 323 324 325 326 /** 327 * Lists the Attribute Syntaxes. 328 * 329 * @return Returns an array containing the names of the Attribute 330 * Syntaxes. 331 * @throws ConcurrentModificationException 332 * If this Root has been removed from the server by 333 * another client. 334 * @throws LdapException 335 * If any other error occurs. 336 */ 337 String[] listAttributeSyntaxes() throws ConcurrentModificationException, 338 LdapException; 339 340 341 342 /** 343 * Gets the named Attribute Syntax. 344 * 345 * @param name 346 * The name of the Attribute Syntax to retrieve. 347 * @return Returns the named Attribute Syntax. 348 * @throws DefinitionDecodingException 349 * If the named Attribute Syntax was found but its type 350 * could not be determined. 351 * @throws ManagedObjectDecodingException 352 * If the named Attribute Syntax was found but one or more 353 * of its properties could not be decoded. 354 * @throws ManagedObjectNotFoundException 355 * If the named Attribute Syntax was not found on the 356 * server. 357 * @throws ConcurrentModificationException 358 * If this Root has been removed from the server by 359 * another client. 360 * @throws LdapException 361 * If any other error occurs. 362 */ 363 AttributeSyntaxCfgClient getAttributeSyntax(String name) 364 throws DefinitionDecodingException, ManagedObjectDecodingException, 365 ManagedObjectNotFoundException, ConcurrentModificationException, 366 LdapException; 367 368 369 370 /** 371 * Creates a new Attribute Syntax. The new Attribute Syntax will 372 * initially not contain any property values (including mandatory 373 * properties). Once the Attribute Syntax has been configured it can 374 * be added to the server using the {@link #commit()} method. 375 * 376 * @param <C> 377 * The type of the Attribute Syntax being created. 378 * @param d 379 * The definition of the Attribute Syntax to be created. 380 * @param name 381 * The name of the new Attribute Syntax. 382 * @param exceptions 383 * An optional collection in which to place any {@link 384 * PropertyException}s that occurred whilst attempting to 385 * determine the default values of the Attribute Syntax. 386 * This argument can be <code>null<code>. 387 * @return Returns a new Attribute Syntax configuration instance. 388 * @throws IllegalManagedObjectNameException 389 * If the name of the new Attribute Syntax is invalid. 390 */ 391 <C extends AttributeSyntaxCfgClient> C createAttributeSyntax( 392 ManagedObjectDefinition<C, ? extends AttributeSyntaxCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 393 394 395 396 /** 397 * Removes the named Attribute Syntax. 398 * 399 * @param name 400 * The name of the Attribute Syntax to remove. 401 * @throws ManagedObjectNotFoundException 402 * If the Attribute Syntax does not exist. 403 * @throws OperationRejectedException 404 * If the server refuses to remove the Attribute Syntax 405 * due to some server-side constraint which cannot be 406 * satisfied (for example, if it is referenced by another 407 * managed object). 408 * @throws ConcurrentModificationException 409 * If this Root has been removed from the server by 410 * another client. 411 * @throws LdapException 412 * If any other error occurs. 413 */ 414 void removeAttributeSyntax(String name) 415 throws ManagedObjectNotFoundException, OperationRejectedException, 416 ConcurrentModificationException, LdapException; 417 418 419 420 /** 421 * Lists the Backends. 422 * 423 * @return Returns an array containing the names of the Backends. 424 * @throws ConcurrentModificationException 425 * If this Root has been removed from the server by 426 * another client. 427 * @throws LdapException 428 * If any other error occurs. 429 */ 430 String[] listBackends() throws ConcurrentModificationException, 431 LdapException; 432 433 434 435 /** 436 * Gets the named Backend. 437 * 438 * @param name 439 * The name of the Backend to retrieve. 440 * @return Returns the named Backend. 441 * @throws DefinitionDecodingException 442 * If the named Backend was found but its type could not 443 * be determined. 444 * @throws ManagedObjectDecodingException 445 * If the named Backend was found but one or more of its 446 * properties could not be decoded. 447 * @throws ManagedObjectNotFoundException 448 * If the named Backend was not found on the server. 449 * @throws ConcurrentModificationException 450 * If this Root has been removed from the server by 451 * another client. 452 * @throws LdapException 453 * If any other error occurs. 454 */ 455 BackendCfgClient getBackend(String name) 456 throws DefinitionDecodingException, ManagedObjectDecodingException, 457 ManagedObjectNotFoundException, ConcurrentModificationException, 458 LdapException; 459 460 461 462 /** 463 * Creates a new Backend. The new Backend will initially not contain 464 * any property values (including mandatory properties). Once the 465 * Backend has been configured it can be added to the server using 466 * the {@link #commit()} method. 467 * 468 * @param <C> 469 * The type of the Backend being created. 470 * @param d 471 * The definition of the Backend to be created. 472 * @param name 473 * The name of the new Backend. 474 * @param exceptions 475 * An optional collection in which to place any {@link 476 * PropertyException}s that occurred whilst attempting to 477 * determine the default values of the Backend. This 478 * argument can be <code>null<code>. 479 * @return Returns a new Backend configuration instance. 480 * @throws IllegalManagedObjectNameException 481 * If the name of the new Backend is invalid. 482 */ 483 <C extends BackendCfgClient> C createBackend( 484 ManagedObjectDefinition<C, ? extends BackendCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 485 486 487 488 /** 489 * Removes the named Backend. 490 * 491 * @param name 492 * The name of the Backend to remove. 493 * @throws ManagedObjectNotFoundException 494 * If the Backend does not exist. 495 * @throws OperationRejectedException 496 * If the server refuses to remove the Backend due to some 497 * server-side constraint which cannot be satisfied (for 498 * example, if it is referenced by another managed object). 499 * @throws ConcurrentModificationException 500 * If this Root has been removed from the server by 501 * another client. 502 * @throws LdapException 503 * If any other error occurs. 504 */ 505 void removeBackend(String name) 506 throws ManagedObjectNotFoundException, OperationRejectedException, 507 ConcurrentModificationException, LdapException; 508 509 510 511 /** 512 * Lists the Certificate Mappers. 513 * 514 * @return Returns an array containing the names of the Certificate 515 * Mappers. 516 * @throws ConcurrentModificationException 517 * If this Root has been removed from the server by 518 * another client. 519 * @throws LdapException 520 * If any other error occurs. 521 */ 522 String[] listCertificateMappers() throws ConcurrentModificationException, 523 LdapException; 524 525 526 527 /** 528 * Gets the named Certificate Mapper. 529 * 530 * @param name 531 * The name of the Certificate Mapper to retrieve. 532 * @return Returns the named Certificate Mapper. 533 * @throws DefinitionDecodingException 534 * If the named Certificate Mapper was found but its type 535 * could not be determined. 536 * @throws ManagedObjectDecodingException 537 * If the named Certificate Mapper was found but one or 538 * more of its properties could not be decoded. 539 * @throws ManagedObjectNotFoundException 540 * If the named Certificate Mapper was not found on the 541 * server. 542 * @throws ConcurrentModificationException 543 * If this Root has been removed from the server by 544 * another client. 545 * @throws LdapException 546 * If any other error occurs. 547 */ 548 CertificateMapperCfgClient getCertificateMapper(String name) 549 throws DefinitionDecodingException, ManagedObjectDecodingException, 550 ManagedObjectNotFoundException, ConcurrentModificationException, 551 LdapException; 552 553 554 555 /** 556 * Creates a new Certificate Mapper. The new Certificate Mapper will 557 * initially not contain any property values (including mandatory 558 * properties). Once the Certificate Mapper has been configured it 559 * can be added to the server using the {@link #commit()} method. 560 * 561 * @param <C> 562 * The type of the Certificate Mapper being created. 563 * @param d 564 * The definition of the Certificate Mapper to be created. 565 * @param name 566 * The name of the new Certificate Mapper. 567 * @param exceptions 568 * An optional collection in which to place any {@link 569 * PropertyException}s that occurred whilst attempting to 570 * determine the default values of the Certificate Mapper. 571 * This argument can be <code>null<code>. 572 * @return Returns a new Certificate Mapper configuration instance. 573 * @throws IllegalManagedObjectNameException 574 * If the name of the new Certificate Mapper is invalid. 575 */ 576 <C extends CertificateMapperCfgClient> C createCertificateMapper( 577 ManagedObjectDefinition<C, ? extends CertificateMapperCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 578 579 580 581 /** 582 * Removes the named Certificate Mapper. 583 * 584 * @param name 585 * The name of the Certificate Mapper to remove. 586 * @throws ManagedObjectNotFoundException 587 * If the Certificate Mapper does not exist. 588 * @throws OperationRejectedException 589 * If the server refuses to remove the Certificate Mapper 590 * due to some server-side constraint which cannot be 591 * satisfied (for example, if it is referenced by another 592 * managed object). 593 * @throws ConcurrentModificationException 594 * If this Root has been removed from the server by 595 * another client. 596 * @throws LdapException 597 * If any other error occurs. 598 */ 599 void removeCertificateMapper(String name) 600 throws ManagedObjectNotFoundException, OperationRejectedException, 601 ConcurrentModificationException, LdapException; 602 603 604 605 /** 606 * Lists the Connection Handlers. 607 * 608 * @return Returns an array containing the names of the Connection 609 * Handlers. 610 * @throws ConcurrentModificationException 611 * If this Root has been removed from the server by 612 * another client. 613 * @throws LdapException 614 * If any other error occurs. 615 */ 616 String[] listConnectionHandlers() throws ConcurrentModificationException, 617 LdapException; 618 619 620 621 /** 622 * Gets the named Connection Handler. 623 * 624 * @param name 625 * The name of the Connection Handler to retrieve. 626 * @return Returns the named Connection Handler. 627 * @throws DefinitionDecodingException 628 * If the named Connection Handler was found but its type 629 * could not be determined. 630 * @throws ManagedObjectDecodingException 631 * If the named Connection Handler was found but one or 632 * more of its properties could not be decoded. 633 * @throws ManagedObjectNotFoundException 634 * If the named Connection Handler was not found on the 635 * server. 636 * @throws ConcurrentModificationException 637 * If this Root has been removed from the server by 638 * another client. 639 * @throws LdapException 640 * If any other error occurs. 641 */ 642 ConnectionHandlerCfgClient getConnectionHandler(String name) 643 throws DefinitionDecodingException, ManagedObjectDecodingException, 644 ManagedObjectNotFoundException, ConcurrentModificationException, 645 LdapException; 646 647 648 649 /** 650 * Creates a new Connection Handler. The new Connection Handler will 651 * initially not contain any property values (including mandatory 652 * properties). Once the Connection Handler has been configured it 653 * can be added to the server using the {@link #commit()} method. 654 * 655 * @param <C> 656 * The type of the Connection Handler being created. 657 * @param d 658 * The definition of the Connection Handler to be created. 659 * @param name 660 * The name of the new Connection Handler. 661 * @param exceptions 662 * An optional collection in which to place any {@link 663 * PropertyException}s that occurred whilst attempting to 664 * determine the default values of the Connection Handler. 665 * This argument can be <code>null<code>. 666 * @return Returns a new Connection Handler configuration instance. 667 * @throws IllegalManagedObjectNameException 668 * If the name of the new Connection Handler is invalid. 669 */ 670 <C extends ConnectionHandlerCfgClient> C createConnectionHandler( 671 ManagedObjectDefinition<C, ? extends ConnectionHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 672 673 674 675 /** 676 * Removes the named Connection Handler. 677 * 678 * @param name 679 * The name of the Connection Handler to remove. 680 * @throws ManagedObjectNotFoundException 681 * If the Connection Handler does not exist. 682 * @throws OperationRejectedException 683 * If the server refuses to remove the Connection Handler 684 * due to some server-side constraint which cannot be 685 * satisfied (for example, if it is referenced by another 686 * managed object). 687 * @throws ConcurrentModificationException 688 * If this Root has been removed from the server by 689 * another client. 690 * @throws LdapException 691 * If any other error occurs. 692 */ 693 void removeConnectionHandler(String name) 694 throws ManagedObjectNotFoundException, OperationRejectedException, 695 ConcurrentModificationException, LdapException; 696 697 698 699 /** 700 * Gets the Crypto Manager. 701 * 702 * @return Returns the Crypto Manager. 703 * @throws DefinitionDecodingException 704 * If the Crypto Manager was found but its type could not 705 * be determined. 706 * @throws ManagedObjectDecodingException 707 * If the Crypto Manager was found but one or more of its 708 * properties could not be decoded. 709 * @throws ManagedObjectNotFoundException 710 * If the Crypto Manager could not be found on the server. 711 * @throws ConcurrentModificationException 712 * If this Root has been removed from the server by 713 * another client. 714 * @throws LdapException 715 * If any other error occurs. 716 */ 717 CryptoManagerCfgClient getCryptoManager() 718 throws DefinitionDecodingException, ManagedObjectDecodingException, 719 ManagedObjectNotFoundException, ConcurrentModificationException, 720 LdapException; 721 722 723 724 /** 725 * Lists the Entry Caches. 726 * 727 * @return Returns an array containing the names of the Entry 728 * Caches. 729 * @throws ConcurrentModificationException 730 * If this Root has been removed from the server by 731 * another client. 732 * @throws LdapException 733 * If any other error occurs. 734 */ 735 String[] listEntryCaches() throws ConcurrentModificationException, 736 LdapException; 737 738 739 740 /** 741 * Gets the named Entry Cache. 742 * 743 * @param name 744 * The name of the Entry Cache to retrieve. 745 * @return Returns the named Entry Cache. 746 * @throws DefinitionDecodingException 747 * If the named Entry Cache was found but its type could 748 * not be determined. 749 * @throws ManagedObjectDecodingException 750 * If the named Entry Cache was found but one or more of 751 * its properties could not be decoded. 752 * @throws ManagedObjectNotFoundException 753 * If the named Entry Cache was not found on the server. 754 * @throws ConcurrentModificationException 755 * If this Root has been removed from the server by 756 * another client. 757 * @throws LdapException 758 * If any other error occurs. 759 */ 760 EntryCacheCfgClient getEntryCache(String name) 761 throws DefinitionDecodingException, ManagedObjectDecodingException, 762 ManagedObjectNotFoundException, ConcurrentModificationException, 763 LdapException; 764 765 766 767 /** 768 * Creates a new Entry Cache. The new Entry Cache will initially not 769 * contain any property values (including mandatory properties). Once 770 * the Entry Cache has been configured it can be added to the server 771 * using the {@link #commit()} method. 772 * 773 * @param <C> 774 * The type of the Entry Cache being created. 775 * @param d 776 * The definition of the Entry Cache to be created. 777 * @param name 778 * The name of the new Entry Cache. 779 * @param exceptions 780 * An optional collection in which to place any {@link 781 * PropertyException}s that occurred whilst attempting to 782 * determine the default values of the Entry Cache. This 783 * argument can be <code>null<code>. 784 * @return Returns a new Entry Cache configuration instance. 785 * @throws IllegalManagedObjectNameException 786 * If the name of the new Entry Cache is invalid. 787 */ 788 <C extends EntryCacheCfgClient> C createEntryCache( 789 ManagedObjectDefinition<C, ? extends EntryCacheCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 790 791 792 793 /** 794 * Removes the named Entry Cache. 795 * 796 * @param name 797 * The name of the Entry Cache to remove. 798 * @throws ManagedObjectNotFoundException 799 * If the Entry Cache does not exist. 800 * @throws OperationRejectedException 801 * If the server refuses to remove the Entry Cache due to 802 * some server-side constraint which cannot be satisfied 803 * (for example, if it is referenced by another managed 804 * object). 805 * @throws ConcurrentModificationException 806 * If this Root has been removed from the server by 807 * another client. 808 * @throws LdapException 809 * If any other error occurs. 810 */ 811 void removeEntryCache(String name) 812 throws ManagedObjectNotFoundException, OperationRejectedException, 813 ConcurrentModificationException, LdapException; 814 815 816 817 /** 818 * Lists the Extended Operation Handlers. 819 * 820 * @return Returns an array containing the names of the Extended 821 * Operation Handlers. 822 * @throws ConcurrentModificationException 823 * If this Root has been removed from the server by 824 * another client. 825 * @throws LdapException 826 * If any other error occurs. 827 */ 828 String[] listExtendedOperationHandlers() throws ConcurrentModificationException, 829 LdapException; 830 831 832 833 /** 834 * Gets the named Extended Operation Handler. 835 * 836 * @param name 837 * The name of the Extended Operation Handler to retrieve. 838 * @return Returns the named Extended Operation Handler. 839 * @throws DefinitionDecodingException 840 * If the named Extended Operation Handler was found but 841 * its type could not be determined. 842 * @throws ManagedObjectDecodingException 843 * If the named Extended Operation Handler was found but 844 * one or more of its properties could not be decoded. 845 * @throws ManagedObjectNotFoundException 846 * If the named Extended Operation Handler was not found 847 * on the server. 848 * @throws ConcurrentModificationException 849 * If this Root has been removed from the server by 850 * another client. 851 * @throws LdapException 852 * If any other error occurs. 853 */ 854 ExtendedOperationHandlerCfgClient getExtendedOperationHandler(String name) 855 throws DefinitionDecodingException, ManagedObjectDecodingException, 856 ManagedObjectNotFoundException, ConcurrentModificationException, 857 LdapException; 858 859 860 861 /** 862 * Creates a new Extended Operation Handler. The new Extended 863 * Operation Handler will initially not contain any property values 864 * (including mandatory properties). Once the Extended Operation 865 * Handler has been configured it can be added to the server using 866 * the {@link #commit()} method. 867 * 868 * @param <C> 869 * The type of the Extended Operation Handler being 870 * created. 871 * @param d 872 * The definition of the Extended Operation Handler to be 873 * created. 874 * @param name 875 * The name of the new Extended Operation Handler. 876 * @param exceptions 877 * An optional collection in which to place any {@link 878 * PropertyException}s that occurred whilst attempting to 879 * determine the default values of the Extended Operation 880 * Handler. This argument can be <code>null<code>. 881 * @return Returns a new Extended Operation Handler configuration 882 * instance. 883 * @throws IllegalManagedObjectNameException 884 * If the name of the new Extended Operation Handler is 885 * invalid. 886 */ 887 <C extends ExtendedOperationHandlerCfgClient> C createExtendedOperationHandler( 888 ManagedObjectDefinition<C, ? extends ExtendedOperationHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 889 890 891 892 /** 893 * Removes the named Extended Operation Handler. 894 * 895 * @param name 896 * The name of the Extended Operation Handler to remove. 897 * @throws ManagedObjectNotFoundException 898 * If the Extended Operation Handler does not exist. 899 * @throws OperationRejectedException 900 * If the server refuses to remove the Extended Operation 901 * Handler due to some server-side constraint which cannot 902 * be satisfied (for example, if it is referenced by 903 * another managed object). 904 * @throws ConcurrentModificationException 905 * If this Root has been removed from the server by 906 * another client. 907 * @throws LdapException 908 * If any other error occurs. 909 */ 910 void removeExtendedOperationHandler(String name) 911 throws ManagedObjectNotFoundException, OperationRejectedException, 912 ConcurrentModificationException, LdapException; 913 914 915 916 /** 917 * Gets the Global Configuration. 918 * 919 * @return Returns the Global Configuration. 920 * @throws DefinitionDecodingException 921 * If the Global Configuration was found but its type 922 * could not be determined. 923 * @throws ManagedObjectDecodingException 924 * If the Global Configuration was found but one or more 925 * of its properties could not be decoded. 926 * @throws ManagedObjectNotFoundException 927 * If the Global Configuration could not be found on the 928 * server. 929 * @throws ConcurrentModificationException 930 * If this Root has been removed from the server by 931 * another client. 932 * @throws LdapException 933 * If any other error occurs. 934 */ 935 GlobalCfgClient getGlobalConfiguration() 936 throws DefinitionDecodingException, ManagedObjectDecodingException, 937 ManagedObjectNotFoundException, ConcurrentModificationException, 938 LdapException; 939 940 941 942 /** 943 * Lists the Group Implementations. 944 * 945 * @return Returns an array containing the names of the Group 946 * Implementations. 947 * @throws ConcurrentModificationException 948 * If this Root has been removed from the server by 949 * another client. 950 * @throws LdapException 951 * If any other error occurs. 952 */ 953 String[] listGroupImplementations() throws ConcurrentModificationException, 954 LdapException; 955 956 957 958 /** 959 * Gets the named Group Implementation. 960 * 961 * @param name 962 * The name of the Group Implementation to retrieve. 963 * @return Returns the named Group Implementation. 964 * @throws DefinitionDecodingException 965 * If the named Group Implementation was found but its 966 * type could not be determined. 967 * @throws ManagedObjectDecodingException 968 * If the named Group Implementation was found but one or 969 * more of its properties could not be decoded. 970 * @throws ManagedObjectNotFoundException 971 * If the named Group Implementation was not found on the 972 * server. 973 * @throws ConcurrentModificationException 974 * If this Root has been removed from the server by 975 * another client. 976 * @throws LdapException 977 * If any other error occurs. 978 */ 979 GroupImplementationCfgClient getGroupImplementation(String name) 980 throws DefinitionDecodingException, ManagedObjectDecodingException, 981 ManagedObjectNotFoundException, ConcurrentModificationException, 982 LdapException; 983 984 985 986 /** 987 * Creates a new Group Implementation. The new Group Implementation 988 * will initially not contain any property values (including 989 * mandatory properties). Once the Group Implementation has been 990 * configured it can be added to the server using the {@link 991 * #commit()} method. 992 * 993 * @param <C> 994 * The type of the Group Implementation being created. 995 * @param d 996 * The definition of the Group Implementation to be 997 * created. 998 * @param name 999 * The name of the new Group Implementation. 1000 * @param exceptions 1001 * An optional collection in which to place any {@link 1002 * PropertyException}s that occurred whilst attempting to 1003 * determine the default values of the Group Implementation. 1004 * This argument can be <code>null<code>. 1005 * @return Returns a new Group Implementation configuration 1006 * instance. 1007 * @throws IllegalManagedObjectNameException 1008 * If the name of the new Group Implementation is invalid. 1009 */ 1010 <C extends GroupImplementationCfgClient> C createGroupImplementation( 1011 ManagedObjectDefinition<C, ? extends GroupImplementationCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1012 1013 1014 1015 /** 1016 * Removes the named Group Implementation. 1017 * 1018 * @param name 1019 * The name of the Group Implementation to remove. 1020 * @throws ManagedObjectNotFoundException 1021 * If the Group Implementation does not exist. 1022 * @throws OperationRejectedException 1023 * If the server refuses to remove the Group 1024 * Implementation due to some server-side constraint which 1025 * cannot be satisfied (for example, if it is referenced by 1026 * another managed object). 1027 * @throws ConcurrentModificationException 1028 * If this Root has been removed from the server by 1029 * another client. 1030 * @throws LdapException 1031 * If any other error occurs. 1032 */ 1033 void removeGroupImplementation(String name) 1034 throws ManagedObjectNotFoundException, OperationRejectedException, 1035 ConcurrentModificationException, LdapException; 1036 1037 1038 1039 /** 1040 * Lists the Identity Mappers. 1041 * 1042 * @return Returns an array containing the names of the Identity 1043 * Mappers. 1044 * @throws ConcurrentModificationException 1045 * If this Root has been removed from the server by 1046 * another client. 1047 * @throws LdapException 1048 * If any other error occurs. 1049 */ 1050 String[] listIdentityMappers() throws ConcurrentModificationException, 1051 LdapException; 1052 1053 1054 1055 /** 1056 * Gets the named Identity Mapper. 1057 * 1058 * @param name 1059 * The name of the Identity Mapper to retrieve. 1060 * @return Returns the named Identity Mapper. 1061 * @throws DefinitionDecodingException 1062 * If the named Identity Mapper was found but its type 1063 * could not be determined. 1064 * @throws ManagedObjectDecodingException 1065 * If the named Identity Mapper was found but one or more 1066 * of its properties could not be decoded. 1067 * @throws ManagedObjectNotFoundException 1068 * If the named Identity Mapper was not found on the 1069 * server. 1070 * @throws ConcurrentModificationException 1071 * If this Root has been removed from the server by 1072 * another client. 1073 * @throws LdapException 1074 * If any other error occurs. 1075 */ 1076 IdentityMapperCfgClient getIdentityMapper(String name) 1077 throws DefinitionDecodingException, ManagedObjectDecodingException, 1078 ManagedObjectNotFoundException, ConcurrentModificationException, 1079 LdapException; 1080 1081 1082 1083 /** 1084 * Creates a new Identity Mapper. The new Identity Mapper will 1085 * initially not contain any property values (including mandatory 1086 * properties). Once the Identity Mapper has been configured it can 1087 * be added to the server using the {@link #commit()} method. 1088 * 1089 * @param <C> 1090 * The type of the Identity Mapper being created. 1091 * @param d 1092 * The definition of the Identity Mapper to be created. 1093 * @param name 1094 * The name of the new Identity Mapper. 1095 * @param exceptions 1096 * An optional collection in which to place any {@link 1097 * PropertyException}s that occurred whilst attempting to 1098 * determine the default values of the Identity Mapper. This 1099 * argument can be <code>null<code>. 1100 * @return Returns a new Identity Mapper configuration instance. 1101 * @throws IllegalManagedObjectNameException 1102 * If the name of the new Identity Mapper is invalid. 1103 */ 1104 <C extends IdentityMapperCfgClient> C createIdentityMapper( 1105 ManagedObjectDefinition<C, ? extends IdentityMapperCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1106 1107 1108 1109 /** 1110 * Removes the named Identity Mapper. 1111 * 1112 * @param name 1113 * The name of the Identity Mapper to remove. 1114 * @throws ManagedObjectNotFoundException 1115 * If the Identity Mapper does not exist. 1116 * @throws OperationRejectedException 1117 * If the server refuses to remove the Identity Mapper due 1118 * to some server-side constraint which cannot be satisfied 1119 * (for example, if it is referenced by another managed 1120 * object). 1121 * @throws ConcurrentModificationException 1122 * If this Root has been removed from the server by 1123 * another client. 1124 * @throws LdapException 1125 * If any other error occurs. 1126 */ 1127 void removeIdentityMapper(String name) 1128 throws ManagedObjectNotFoundException, OperationRejectedException, 1129 ConcurrentModificationException, LdapException; 1130 1131 1132 1133 /** 1134 * Lists the Key Manager Providers. 1135 * 1136 * @return Returns an array containing the names of the Key Manager 1137 * Providers. 1138 * @throws ConcurrentModificationException 1139 * If this Root has been removed from the server by 1140 * another client. 1141 * @throws LdapException 1142 * If any other error occurs. 1143 */ 1144 String[] listKeyManagerProviders() throws ConcurrentModificationException, 1145 LdapException; 1146 1147 1148 1149 /** 1150 * Gets the named Key Manager Provider. 1151 * 1152 * @param name 1153 * The name of the Key Manager Provider to retrieve. 1154 * @return Returns the named Key Manager Provider. 1155 * @throws DefinitionDecodingException 1156 * If the named Key Manager Provider was found but its 1157 * type could not be determined. 1158 * @throws ManagedObjectDecodingException 1159 * If the named Key Manager Provider was found but one or 1160 * more of its properties could not be decoded. 1161 * @throws ManagedObjectNotFoundException 1162 * If the named Key Manager Provider was not found on the 1163 * server. 1164 * @throws ConcurrentModificationException 1165 * If this Root has been removed from the server by 1166 * another client. 1167 * @throws LdapException 1168 * If any other error occurs. 1169 */ 1170 KeyManagerProviderCfgClient getKeyManagerProvider(String name) 1171 throws DefinitionDecodingException, ManagedObjectDecodingException, 1172 ManagedObjectNotFoundException, ConcurrentModificationException, 1173 LdapException; 1174 1175 1176 1177 /** 1178 * Creates a new Key Manager Provider. The new Key Manager Provider 1179 * will initially not contain any property values (including 1180 * mandatory properties). Once the Key Manager Provider has been 1181 * configured it can be added to the server using the {@link 1182 * #commit()} method. 1183 * 1184 * @param <C> 1185 * The type of the Key Manager Provider being created. 1186 * @param d 1187 * The definition of the Key Manager Provider to be 1188 * created. 1189 * @param name 1190 * The name of the new Key Manager Provider. 1191 * @param exceptions 1192 * An optional collection in which to place any {@link 1193 * PropertyException}s that occurred whilst attempting to 1194 * determine the default values of the Key Manager Provider. 1195 * This argument can be <code>null<code>. 1196 * @return Returns a new Key Manager Provider configuration 1197 * instance. 1198 * @throws IllegalManagedObjectNameException 1199 * If the name of the new Key Manager Provider is invalid. 1200 */ 1201 <C extends KeyManagerProviderCfgClient> C createKeyManagerProvider( 1202 ManagedObjectDefinition<C, ? extends KeyManagerProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1203 1204 1205 1206 /** 1207 * Removes the named Key Manager Provider. 1208 * 1209 * @param name 1210 * The name of the Key Manager Provider to remove. 1211 * @throws ManagedObjectNotFoundException 1212 * If the Key Manager Provider does not exist. 1213 * @throws OperationRejectedException 1214 * If the server refuses to remove the Key Manager 1215 * Provider due to some server-side constraint which cannot 1216 * be satisfied (for example, if it is referenced by 1217 * another managed object). 1218 * @throws ConcurrentModificationException 1219 * If this Root has been removed from the server by 1220 * another client. 1221 * @throws LdapException 1222 * If any other error occurs. 1223 */ 1224 void removeKeyManagerProvider(String name) 1225 throws ManagedObjectNotFoundException, OperationRejectedException, 1226 ConcurrentModificationException, LdapException; 1227 1228 1229 1230 /** 1231 * Lists the Log Publishers. 1232 * 1233 * @return Returns an array containing the names of the Log 1234 * Publishers. 1235 * @throws ConcurrentModificationException 1236 * If this Root has been removed from the server by 1237 * another client. 1238 * @throws LdapException 1239 * If any other error occurs. 1240 */ 1241 String[] listLogPublishers() throws ConcurrentModificationException, 1242 LdapException; 1243 1244 1245 1246 /** 1247 * Gets the named Log Publisher. 1248 * 1249 * @param name 1250 * The name of the Log Publisher to retrieve. 1251 * @return Returns the named Log Publisher. 1252 * @throws DefinitionDecodingException 1253 * If the named Log Publisher was found but its type could 1254 * not be determined. 1255 * @throws ManagedObjectDecodingException 1256 * If the named Log Publisher was found but one or more of 1257 * its properties could not be decoded. 1258 * @throws ManagedObjectNotFoundException 1259 * If the named Log Publisher was not found on the server. 1260 * @throws ConcurrentModificationException 1261 * If this Root has been removed from the server by 1262 * another client. 1263 * @throws LdapException 1264 * If any other error occurs. 1265 */ 1266 LogPublisherCfgClient getLogPublisher(String name) 1267 throws DefinitionDecodingException, ManagedObjectDecodingException, 1268 ManagedObjectNotFoundException, ConcurrentModificationException, 1269 LdapException; 1270 1271 1272 1273 /** 1274 * Creates a new Log Publisher. The new Log Publisher will initially 1275 * not contain any property values (including mandatory properties). 1276 * Once the Log Publisher has been configured it can be added to the 1277 * server using the {@link #commit()} method. 1278 * 1279 * @param <C> 1280 * The type of the Log Publisher being created. 1281 * @param d 1282 * The definition of the Log Publisher to be created. 1283 * @param name 1284 * The name of the new Log Publisher. 1285 * @param exceptions 1286 * An optional collection in which to place any {@link 1287 * PropertyException}s that occurred whilst attempting to 1288 * determine the default values of the Log Publisher. This 1289 * argument can be <code>null<code>. 1290 * @return Returns a new Log Publisher configuration instance. 1291 * @throws IllegalManagedObjectNameException 1292 * If the name of the new Log Publisher is invalid. 1293 */ 1294 <C extends LogPublisherCfgClient> C createLogPublisher( 1295 ManagedObjectDefinition<C, ? extends LogPublisherCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1296 1297 1298 1299 /** 1300 * Removes the named Log Publisher. 1301 * 1302 * @param name 1303 * The name of the Log Publisher to remove. 1304 * @throws ManagedObjectNotFoundException 1305 * If the Log Publisher does not exist. 1306 * @throws OperationRejectedException 1307 * If the server refuses to remove the Log Publisher due 1308 * to some server-side constraint which cannot be satisfied 1309 * (for example, if it is referenced by another managed 1310 * object). 1311 * @throws ConcurrentModificationException 1312 * If this Root has been removed from the server by 1313 * another client. 1314 * @throws LdapException 1315 * If any other error occurs. 1316 */ 1317 void removeLogPublisher(String name) 1318 throws ManagedObjectNotFoundException, OperationRejectedException, 1319 ConcurrentModificationException, LdapException; 1320 1321 1322 1323 /** 1324 * Lists the Log Retention Policies. 1325 * 1326 * @return Returns an array containing the names of the Log 1327 * Retention Policies. 1328 * @throws ConcurrentModificationException 1329 * If this Root has been removed from the server by 1330 * another client. 1331 * @throws LdapException 1332 * If any other error occurs. 1333 */ 1334 String[] listLogRetentionPolicies() throws ConcurrentModificationException, 1335 LdapException; 1336 1337 1338 1339 /** 1340 * Gets the named Log Retention Policy. 1341 * 1342 * @param name 1343 * The name of the Log Retention Policy to retrieve. 1344 * @return Returns the named Log Retention Policy. 1345 * @throws DefinitionDecodingException 1346 * If the named Log Retention Policy was found but its 1347 * type could not be determined. 1348 * @throws ManagedObjectDecodingException 1349 * If the named Log Retention Policy was found but one or 1350 * more of its properties could not be decoded. 1351 * @throws ManagedObjectNotFoundException 1352 * If the named Log Retention Policy was not found on the 1353 * server. 1354 * @throws ConcurrentModificationException 1355 * If this Root has been removed from the server by 1356 * another client. 1357 * @throws LdapException 1358 * If any other error occurs. 1359 */ 1360 LogRetentionPolicyCfgClient getLogRetentionPolicy(String name) 1361 throws DefinitionDecodingException, ManagedObjectDecodingException, 1362 ManagedObjectNotFoundException, ConcurrentModificationException, 1363 LdapException; 1364 1365 1366 1367 /** 1368 * Creates a new Log Retention Policy. The new Log Retention Policy 1369 * will initially not contain any property values (including 1370 * mandatory properties). Once the Log Retention Policy has been 1371 * configured it can be added to the server using the {@link 1372 * #commit()} method. 1373 * 1374 * @param <C> 1375 * The type of the Log Retention Policy being created. 1376 * @param d 1377 * The definition of the Log Retention Policy to be 1378 * created. 1379 * @param name 1380 * The name of the new Log Retention Policy. 1381 * @param exceptions 1382 * An optional collection in which to place any {@link 1383 * PropertyException}s that occurred whilst attempting to 1384 * determine the default values of the Log Retention Policy. 1385 * This argument can be <code>null<code>. 1386 * @return Returns a new Log Retention Policy configuration 1387 * instance. 1388 * @throws IllegalManagedObjectNameException 1389 * If the name of the new Log Retention Policy is invalid. 1390 */ 1391 <C extends LogRetentionPolicyCfgClient> C createLogRetentionPolicy( 1392 ManagedObjectDefinition<C, ? extends LogRetentionPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1393 1394 1395 1396 /** 1397 * Removes the named Log Retention Policy. 1398 * 1399 * @param name 1400 * The name of the Log Retention Policy to remove. 1401 * @throws ManagedObjectNotFoundException 1402 * If the Log Retention Policy does not exist. 1403 * @throws OperationRejectedException 1404 * If the server refuses to remove the Log Retention 1405 * Policy due to some server-side constraint which cannot 1406 * be satisfied (for example, if it is referenced by 1407 * another managed object). 1408 * @throws ConcurrentModificationException 1409 * If this Root has been removed from the server by 1410 * another client. 1411 * @throws LdapException 1412 * If any other error occurs. 1413 */ 1414 void removeLogRetentionPolicy(String name) 1415 throws ManagedObjectNotFoundException, OperationRejectedException, 1416 ConcurrentModificationException, LdapException; 1417 1418 1419 1420 /** 1421 * Lists the Log Rotation Policies. 1422 * 1423 * @return Returns an array containing the names of the Log Rotation 1424 * Policies. 1425 * @throws ConcurrentModificationException 1426 * If this Root has been removed from the server by 1427 * another client. 1428 * @throws LdapException 1429 * If any other error occurs. 1430 */ 1431 String[] listLogRotationPolicies() throws ConcurrentModificationException, 1432 LdapException; 1433 1434 1435 1436 /** 1437 * Gets the named Log Rotation Policy. 1438 * 1439 * @param name 1440 * The name of the Log Rotation Policy to retrieve. 1441 * @return Returns the named Log Rotation Policy. 1442 * @throws DefinitionDecodingException 1443 * If the named Log Rotation Policy was found but its type 1444 * could not be determined. 1445 * @throws ManagedObjectDecodingException 1446 * If the named Log Rotation Policy was found but one or 1447 * more of its properties could not be decoded. 1448 * @throws ManagedObjectNotFoundException 1449 * If the named Log Rotation Policy was not found on the 1450 * server. 1451 * @throws ConcurrentModificationException 1452 * If this Root has been removed from the server by 1453 * another client. 1454 * @throws LdapException 1455 * If any other error occurs. 1456 */ 1457 LogRotationPolicyCfgClient getLogRotationPolicy(String name) 1458 throws DefinitionDecodingException, ManagedObjectDecodingException, 1459 ManagedObjectNotFoundException, ConcurrentModificationException, 1460 LdapException; 1461 1462 1463 1464 /** 1465 * Creates a new Log Rotation Policy. The new Log Rotation Policy 1466 * will initially not contain any property values (including 1467 * mandatory properties). Once the Log Rotation Policy has been 1468 * configured it can be added to the server using the {@link 1469 * #commit()} method. 1470 * 1471 * @param <C> 1472 * The type of the Log Rotation Policy being created. 1473 * @param d 1474 * The definition of the Log Rotation Policy to be created. 1475 * @param name 1476 * The name of the new Log Rotation Policy. 1477 * @param exceptions 1478 * An optional collection in which to place any {@link 1479 * PropertyException}s that occurred whilst attempting to 1480 * determine the default values of the Log Rotation Policy. 1481 * This argument can be <code>null<code>. 1482 * @return Returns a new Log Rotation Policy configuration instance. 1483 * @throws IllegalManagedObjectNameException 1484 * If the name of the new Log Rotation Policy is invalid. 1485 */ 1486 <C extends LogRotationPolicyCfgClient> C createLogRotationPolicy( 1487 ManagedObjectDefinition<C, ? extends LogRotationPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1488 1489 1490 1491 /** 1492 * Removes the named Log Rotation Policy. 1493 * 1494 * @param name 1495 * The name of the Log Rotation Policy to remove. 1496 * @throws ManagedObjectNotFoundException 1497 * If the Log Rotation Policy does not exist. 1498 * @throws OperationRejectedException 1499 * If the server refuses to remove the Log Rotation Policy 1500 * due to some server-side constraint which cannot be 1501 * satisfied (for example, if it is referenced by another 1502 * managed object). 1503 * @throws ConcurrentModificationException 1504 * If this Root has been removed from the server by 1505 * another client. 1506 * @throws LdapException 1507 * If any other error occurs. 1508 */ 1509 void removeLogRotationPolicy(String name) 1510 throws ManagedObjectNotFoundException, OperationRejectedException, 1511 ConcurrentModificationException, LdapException; 1512 1513 1514 1515 /** 1516 * Lists the Matching Rules. 1517 * 1518 * @return Returns an array containing the names of the Matching 1519 * Rules. 1520 * @throws ConcurrentModificationException 1521 * If this Root has been removed from the server by 1522 * another client. 1523 * @throws LdapException 1524 * If any other error occurs. 1525 */ 1526 String[] listMatchingRules() throws ConcurrentModificationException, 1527 LdapException; 1528 1529 1530 1531 /** 1532 * Gets the named Matching Rule. 1533 * 1534 * @param name 1535 * The name of the Matching Rule to retrieve. 1536 * @return Returns the named Matching Rule. 1537 * @throws DefinitionDecodingException 1538 * If the named Matching Rule was found but its type could 1539 * not be determined. 1540 * @throws ManagedObjectDecodingException 1541 * If the named Matching Rule was found but one or more of 1542 * its properties could not be decoded. 1543 * @throws ManagedObjectNotFoundException 1544 * If the named Matching Rule was not found on the server. 1545 * @throws ConcurrentModificationException 1546 * If this Root has been removed from the server by 1547 * another client. 1548 * @throws LdapException 1549 * If any other error occurs. 1550 */ 1551 MatchingRuleCfgClient getMatchingRule(String name) 1552 throws DefinitionDecodingException, ManagedObjectDecodingException, 1553 ManagedObjectNotFoundException, ConcurrentModificationException, 1554 LdapException; 1555 1556 1557 1558 /** 1559 * Creates a new Matching Rule. The new Matching Rule will initially 1560 * not contain any property values (including mandatory properties). 1561 * Once the Matching Rule has been configured it can be added to the 1562 * server using the {@link #commit()} method. 1563 * 1564 * @param <C> 1565 * The type of the Matching Rule being created. 1566 * @param d 1567 * The definition of the Matching Rule to be created. 1568 * @param name 1569 * The name of the new Matching Rule. 1570 * @param exceptions 1571 * An optional collection in which to place any {@link 1572 * PropertyException}s that occurred whilst attempting to 1573 * determine the default values of the Matching Rule. This 1574 * argument can be <code>null<code>. 1575 * @return Returns a new Matching Rule configuration instance. 1576 * @throws IllegalManagedObjectNameException 1577 * If the name of the new Matching Rule is invalid. 1578 */ 1579 <C extends MatchingRuleCfgClient> C createMatchingRule( 1580 ManagedObjectDefinition<C, ? extends MatchingRuleCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1581 1582 1583 1584 /** 1585 * Removes the named Matching Rule. 1586 * 1587 * @param name 1588 * The name of the Matching Rule to remove. 1589 * @throws ManagedObjectNotFoundException 1590 * If the Matching Rule does not exist. 1591 * @throws OperationRejectedException 1592 * If the server refuses to remove the Matching Rule due 1593 * to some server-side constraint which cannot be satisfied 1594 * (for example, if it is referenced by another managed 1595 * object). 1596 * @throws ConcurrentModificationException 1597 * If this Root has been removed from the server by 1598 * another client. 1599 * @throws LdapException 1600 * If any other error occurs. 1601 */ 1602 void removeMatchingRule(String name) 1603 throws ManagedObjectNotFoundException, OperationRejectedException, 1604 ConcurrentModificationException, LdapException; 1605 1606 1607 1608 /** 1609 * Lists the Monitor Providers. 1610 * 1611 * @return Returns an array containing the names of the Monitor 1612 * Providers. 1613 * @throws ConcurrentModificationException 1614 * If this Root has been removed from the server by 1615 * another client. 1616 * @throws LdapException 1617 * If any other error occurs. 1618 */ 1619 String[] listMonitorProviders() throws ConcurrentModificationException, 1620 LdapException; 1621 1622 1623 1624 /** 1625 * Gets the named Monitor Provider. 1626 * 1627 * @param name 1628 * The name of the Monitor Provider to retrieve. 1629 * @return Returns the named Monitor Provider. 1630 * @throws DefinitionDecodingException 1631 * If the named Monitor Provider was found but its type 1632 * could not be determined. 1633 * @throws ManagedObjectDecodingException 1634 * If the named Monitor Provider was found but one or more 1635 * of its properties could not be decoded. 1636 * @throws ManagedObjectNotFoundException 1637 * If the named Monitor Provider was not found on the 1638 * server. 1639 * @throws ConcurrentModificationException 1640 * If this Root has been removed from the server by 1641 * another client. 1642 * @throws LdapException 1643 * If any other error occurs. 1644 */ 1645 MonitorProviderCfgClient getMonitorProvider(String name) 1646 throws DefinitionDecodingException, ManagedObjectDecodingException, 1647 ManagedObjectNotFoundException, ConcurrentModificationException, 1648 LdapException; 1649 1650 1651 1652 /** 1653 * Creates a new Monitor Provider. The new Monitor Provider will 1654 * initially not contain any property values (including mandatory 1655 * properties). Once the Monitor Provider has been configured it can 1656 * be added to the server using the {@link #commit()} method. 1657 * 1658 * @param <C> 1659 * The type of the Monitor Provider being created. 1660 * @param d 1661 * The definition of the Monitor Provider to be created. 1662 * @param name 1663 * The name of the new Monitor Provider. 1664 * @param exceptions 1665 * An optional collection in which to place any {@link 1666 * PropertyException}s that occurred whilst attempting to 1667 * determine the default values of the Monitor Provider. 1668 * This argument can be <code>null<code>. 1669 * @return Returns a new Monitor Provider configuration instance. 1670 * @throws IllegalManagedObjectNameException 1671 * If the name of the new Monitor Provider is invalid. 1672 */ 1673 <C extends MonitorProviderCfgClient> C createMonitorProvider( 1674 ManagedObjectDefinition<C, ? extends MonitorProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1675 1676 1677 1678 /** 1679 * Removes the named Monitor Provider. 1680 * 1681 * @param name 1682 * The name of the Monitor Provider to remove. 1683 * @throws ManagedObjectNotFoundException 1684 * If the Monitor Provider does not exist. 1685 * @throws OperationRejectedException 1686 * If the server refuses to remove the Monitor Provider 1687 * due to some server-side constraint which cannot be 1688 * satisfied (for example, if it is referenced by another 1689 * managed object). 1690 * @throws ConcurrentModificationException 1691 * If this Root has been removed from the server by 1692 * another client. 1693 * @throws LdapException 1694 * If any other error occurs. 1695 */ 1696 void removeMonitorProvider(String name) 1697 throws ManagedObjectNotFoundException, OperationRejectedException, 1698 ConcurrentModificationException, LdapException; 1699 1700 1701 1702 /** 1703 * Lists the Password Generators. 1704 * 1705 * @return Returns an array containing the names of the Password 1706 * Generators. 1707 * @throws ConcurrentModificationException 1708 * If this Root has been removed from the server by 1709 * another client. 1710 * @throws LdapException 1711 * If any other error occurs. 1712 */ 1713 String[] listPasswordGenerators() throws ConcurrentModificationException, 1714 LdapException; 1715 1716 1717 1718 /** 1719 * Gets the named Password Generator. 1720 * 1721 * @param name 1722 * The name of the Password Generator to retrieve. 1723 * @return Returns the named Password Generator. 1724 * @throws DefinitionDecodingException 1725 * If the named Password Generator was found but its type 1726 * could not be determined. 1727 * @throws ManagedObjectDecodingException 1728 * If the named Password Generator was found but one or 1729 * more of its properties could not be decoded. 1730 * @throws ManagedObjectNotFoundException 1731 * If the named Password Generator was not found on the 1732 * server. 1733 * @throws ConcurrentModificationException 1734 * If this Root has been removed from the server by 1735 * another client. 1736 * @throws LdapException 1737 * If any other error occurs. 1738 */ 1739 PasswordGeneratorCfgClient getPasswordGenerator(String name) 1740 throws DefinitionDecodingException, ManagedObjectDecodingException, 1741 ManagedObjectNotFoundException, ConcurrentModificationException, 1742 LdapException; 1743 1744 1745 1746 /** 1747 * Creates a new Password Generator. The new Password Generator will 1748 * initially not contain any property values (including mandatory 1749 * properties). Once the Password Generator has been configured it 1750 * can be added to the server using the {@link #commit()} method. 1751 * 1752 * @param <C> 1753 * The type of the Password Generator being created. 1754 * @param d 1755 * The definition of the Password Generator to be created. 1756 * @param name 1757 * The name of the new Password Generator. 1758 * @param exceptions 1759 * An optional collection in which to place any {@link 1760 * PropertyException}s that occurred whilst attempting to 1761 * determine the default values of the Password Generator. 1762 * This argument can be <code>null<code>. 1763 * @return Returns a new Password Generator configuration instance. 1764 * @throws IllegalManagedObjectNameException 1765 * If the name of the new Password Generator is invalid. 1766 */ 1767 <C extends PasswordGeneratorCfgClient> C createPasswordGenerator( 1768 ManagedObjectDefinition<C, ? extends PasswordGeneratorCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1769 1770 1771 1772 /** 1773 * Removes the named Password Generator. 1774 * 1775 * @param name 1776 * The name of the Password Generator to remove. 1777 * @throws ManagedObjectNotFoundException 1778 * If the Password Generator does not exist. 1779 * @throws OperationRejectedException 1780 * If the server refuses to remove the Password Generator 1781 * due to some server-side constraint which cannot be 1782 * satisfied (for example, if it is referenced by another 1783 * managed object). 1784 * @throws ConcurrentModificationException 1785 * If this Root has been removed from the server by 1786 * another client. 1787 * @throws LdapException 1788 * If any other error occurs. 1789 */ 1790 void removePasswordGenerator(String name) 1791 throws ManagedObjectNotFoundException, OperationRejectedException, 1792 ConcurrentModificationException, LdapException; 1793 1794 1795 1796 /** 1797 * Lists the Password Policies. 1798 * 1799 * @return Returns an array containing the names of the Password 1800 * Policies. 1801 * @throws ConcurrentModificationException 1802 * If this Root has been removed from the server by 1803 * another client. 1804 * @throws LdapException 1805 * If any other error occurs. 1806 */ 1807 String[] listPasswordPolicies() throws ConcurrentModificationException, 1808 LdapException; 1809 1810 1811 1812 /** 1813 * Gets the named Password Policy. 1814 * 1815 * @param name 1816 * The name of the Password Policy to retrieve. 1817 * @return Returns the named Password Policy. 1818 * @throws DefinitionDecodingException 1819 * If the named Password Policy was found but its type 1820 * could not be determined. 1821 * @throws ManagedObjectDecodingException 1822 * If the named Password Policy was found but one or more 1823 * of its properties could not be decoded. 1824 * @throws ManagedObjectNotFoundException 1825 * If the named Password Policy was not found on the 1826 * server. 1827 * @throws ConcurrentModificationException 1828 * If this Root has been removed from the server by 1829 * another client. 1830 * @throws LdapException 1831 * If any other error occurs. 1832 */ 1833 AuthenticationPolicyCfgClient getPasswordPolicy(String name) 1834 throws DefinitionDecodingException, ManagedObjectDecodingException, 1835 ManagedObjectNotFoundException, ConcurrentModificationException, 1836 LdapException; 1837 1838 1839 1840 /** 1841 * Creates a new Password Policy. The new Password Policy will 1842 * initially not contain any property values (including mandatory 1843 * properties). Once the Password Policy has been configured it can 1844 * be added to the server using the {@link #commit()} method. 1845 * 1846 * @param <C> 1847 * The type of the Password Policy being created. 1848 * @param d 1849 * The definition of the Password Policy to be created. 1850 * @param name 1851 * The name of the new Password Policy. 1852 * @param exceptions 1853 * An optional collection in which to place any {@link 1854 * PropertyException}s that occurred whilst attempting to 1855 * determine the default values of the Password Policy. This 1856 * argument can be <code>null<code>. 1857 * @return Returns a new Password Policy configuration instance. 1858 * @throws IllegalManagedObjectNameException 1859 * If the name of the new Password Policy is invalid. 1860 */ 1861 <C extends AuthenticationPolicyCfgClient> C createPasswordPolicy( 1862 ManagedObjectDefinition<C, ? extends AuthenticationPolicyCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1863 1864 1865 1866 /** 1867 * Removes the named Password Policy. 1868 * 1869 * @param name 1870 * The name of the Password Policy to remove. 1871 * @throws ManagedObjectNotFoundException 1872 * If the Password Policy does not exist. 1873 * @throws OperationRejectedException 1874 * If the server refuses to remove the Password Policy due 1875 * to some server-side constraint which cannot be satisfied 1876 * (for example, if it is referenced by another managed 1877 * object). 1878 * @throws ConcurrentModificationException 1879 * If this Root has been removed from the server by 1880 * another client. 1881 * @throws LdapException 1882 * If any other error occurs. 1883 */ 1884 void removePasswordPolicy(String name) 1885 throws ManagedObjectNotFoundException, OperationRejectedException, 1886 ConcurrentModificationException, LdapException; 1887 1888 1889 1890 /** 1891 * Lists the Password Storage Schemes. 1892 * 1893 * @return Returns an array containing the names of the Password 1894 * Storage Schemes. 1895 * @throws ConcurrentModificationException 1896 * If this Root has been removed from the server by 1897 * another client. 1898 * @throws LdapException 1899 * If any other error occurs. 1900 */ 1901 String[] listPasswordStorageSchemes() throws ConcurrentModificationException, 1902 LdapException; 1903 1904 1905 1906 /** 1907 * Gets the named Password Storage Scheme. 1908 * 1909 * @param name 1910 * The name of the Password Storage Scheme to retrieve. 1911 * @return Returns the named Password Storage Scheme. 1912 * @throws DefinitionDecodingException 1913 * If the named Password Storage Scheme was found but its 1914 * type could not be determined. 1915 * @throws ManagedObjectDecodingException 1916 * If the named Password Storage Scheme was found but one 1917 * or more of its properties could not be decoded. 1918 * @throws ManagedObjectNotFoundException 1919 * If the named Password Storage Scheme was not found on 1920 * the server. 1921 * @throws ConcurrentModificationException 1922 * If this Root has been removed from the server by 1923 * another client. 1924 * @throws LdapException 1925 * If any other error occurs. 1926 */ 1927 PasswordStorageSchemeCfgClient getPasswordStorageScheme(String name) 1928 throws DefinitionDecodingException, ManagedObjectDecodingException, 1929 ManagedObjectNotFoundException, ConcurrentModificationException, 1930 LdapException; 1931 1932 1933 1934 /** 1935 * Creates a new Password Storage Scheme. The new Password Storage 1936 * Scheme will initially not contain any property values (including 1937 * mandatory properties). Once the Password Storage Scheme has been 1938 * configured it can be added to the server using the {@link 1939 * #commit()} method. 1940 * 1941 * @param <C> 1942 * The type of the Password Storage Scheme being created. 1943 * @param d 1944 * The definition of the Password Storage Scheme to be 1945 * created. 1946 * @param name 1947 * The name of the new Password Storage Scheme. 1948 * @param exceptions 1949 * An optional collection in which to place any {@link 1950 * PropertyException}s that occurred whilst attempting to 1951 * determine the default values of the Password Storage 1952 * Scheme. This argument can be <code>null<code>. 1953 * @return Returns a new Password Storage Scheme configuration 1954 * instance. 1955 * @throws IllegalManagedObjectNameException 1956 * If the name of the new Password Storage Scheme is 1957 * invalid. 1958 */ 1959 <C extends PasswordStorageSchemeCfgClient> C createPasswordStorageScheme( 1960 ManagedObjectDefinition<C, ? extends PasswordStorageSchemeCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 1961 1962 1963 1964 /** 1965 * Removes the named Password Storage Scheme. 1966 * 1967 * @param name 1968 * The name of the Password Storage Scheme to remove. 1969 * @throws ManagedObjectNotFoundException 1970 * If the Password Storage Scheme does not exist. 1971 * @throws OperationRejectedException 1972 * If the server refuses to remove the Password Storage 1973 * Scheme due to some server-side constraint which cannot 1974 * be satisfied (for example, if it is referenced by 1975 * another managed object). 1976 * @throws ConcurrentModificationException 1977 * If this Root has been removed from the server by 1978 * another client. 1979 * @throws LdapException 1980 * If any other error occurs. 1981 */ 1982 void removePasswordStorageScheme(String name) 1983 throws ManagedObjectNotFoundException, OperationRejectedException, 1984 ConcurrentModificationException, LdapException; 1985 1986 1987 1988 /** 1989 * Lists the Password Validators. 1990 * 1991 * @return Returns an array containing the names of the Password 1992 * Validators. 1993 * @throws ConcurrentModificationException 1994 * If this Root has been removed from the server by 1995 * another client. 1996 * @throws LdapException 1997 * If any other error occurs. 1998 */ 1999 String[] listPasswordValidators() throws ConcurrentModificationException, 2000 LdapException; 2001 2002 2003 2004 /** 2005 * Gets the named Password Validator. 2006 * 2007 * @param name 2008 * The name of the Password Validator to retrieve. 2009 * @return Returns the named Password Validator. 2010 * @throws DefinitionDecodingException 2011 * If the named Password Validator was found but its type 2012 * could not be determined. 2013 * @throws ManagedObjectDecodingException 2014 * If the named Password Validator was found but one or 2015 * more of its properties could not be decoded. 2016 * @throws ManagedObjectNotFoundException 2017 * If the named Password Validator was not found on the 2018 * server. 2019 * @throws ConcurrentModificationException 2020 * If this Root has been removed from the server by 2021 * another client. 2022 * @throws LdapException 2023 * If any other error occurs. 2024 */ 2025 PasswordValidatorCfgClient getPasswordValidator(String name) 2026 throws DefinitionDecodingException, ManagedObjectDecodingException, 2027 ManagedObjectNotFoundException, ConcurrentModificationException, 2028 LdapException; 2029 2030 2031 2032 /** 2033 * Creates a new Password Validator. The new Password Validator will 2034 * initially not contain any property values (including mandatory 2035 * properties). Once the Password Validator has been configured it 2036 * can be added to the server using the {@link #commit()} method. 2037 * 2038 * @param <C> 2039 * The type of the Password Validator being created. 2040 * @param d 2041 * The definition of the Password Validator to be created. 2042 * @param name 2043 * The name of the new Password Validator. 2044 * @param exceptions 2045 * An optional collection in which to place any {@link 2046 * PropertyException}s that occurred whilst attempting to 2047 * determine the default values of the Password Validator. 2048 * This argument can be <code>null<code>. 2049 * @return Returns a new Password Validator configuration instance. 2050 * @throws IllegalManagedObjectNameException 2051 * If the name of the new Password Validator is invalid. 2052 */ 2053 <C extends PasswordValidatorCfgClient> C createPasswordValidator( 2054 ManagedObjectDefinition<C, ? extends PasswordValidatorCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2055 2056 2057 2058 /** 2059 * Removes the named Password Validator. 2060 * 2061 * @param name 2062 * The name of the Password Validator to remove. 2063 * @throws ManagedObjectNotFoundException 2064 * If the Password Validator does not exist. 2065 * @throws OperationRejectedException 2066 * If the server refuses to remove the Password Validator 2067 * due to some server-side constraint which cannot be 2068 * satisfied (for example, if it is referenced by another 2069 * managed object). 2070 * @throws ConcurrentModificationException 2071 * If this Root has been removed from the server by 2072 * another client. 2073 * @throws LdapException 2074 * If any other error occurs. 2075 */ 2076 void removePasswordValidator(String name) 2077 throws ManagedObjectNotFoundException, OperationRejectedException, 2078 ConcurrentModificationException, LdapException; 2079 2080 2081 2082 /** 2083 * Gets the Plugin Root. 2084 * 2085 * @return Returns the Plugin Root. 2086 * @throws DefinitionDecodingException 2087 * If the Plugin Root was found but its type could not be 2088 * determined. 2089 * @throws ManagedObjectDecodingException 2090 * If the Plugin Root was found but one or more of its 2091 * properties could not be decoded. 2092 * @throws ManagedObjectNotFoundException 2093 * If the Plugin Root could not be found on the server. 2094 * @throws ConcurrentModificationException 2095 * If this Root has been removed from the server by 2096 * another client. 2097 * @throws LdapException 2098 * If any other error occurs. 2099 */ 2100 PluginRootCfgClient getPluginRoot() 2101 throws DefinitionDecodingException, ManagedObjectDecodingException, 2102 ManagedObjectNotFoundException, ConcurrentModificationException, 2103 LdapException; 2104 2105 2106 2107 /** 2108 * Gets the Root DN. 2109 * 2110 * @return Returns the Root DN. 2111 * @throws DefinitionDecodingException 2112 * If the Root DN was found but its type could not be 2113 * determined. 2114 * @throws ManagedObjectDecodingException 2115 * If the Root DN was found but one or more of its 2116 * properties could not be decoded. 2117 * @throws ManagedObjectNotFoundException 2118 * If the Root DN could not be found on the server. 2119 * @throws ConcurrentModificationException 2120 * If this Root has been removed from the server by 2121 * another client. 2122 * @throws LdapException 2123 * If any other error occurs. 2124 */ 2125 RootDNCfgClient getRootDN() 2126 throws DefinitionDecodingException, ManagedObjectDecodingException, 2127 ManagedObjectNotFoundException, ConcurrentModificationException, 2128 LdapException; 2129 2130 2131 2132 /** 2133 * Gets the Root DSE Backend. 2134 * 2135 * @return Returns the Root DSE Backend. 2136 * @throws DefinitionDecodingException 2137 * If the Root DSE Backend was found but its type could 2138 * not be determined. 2139 * @throws ManagedObjectDecodingException 2140 * If the Root DSE Backend was found but one or more of 2141 * its properties could not be decoded. 2142 * @throws ManagedObjectNotFoundException 2143 * If the Root DSE Backend could not be found on the 2144 * server. 2145 * @throws ConcurrentModificationException 2146 * If this Root has been removed from the server by 2147 * another client. 2148 * @throws LdapException 2149 * If any other error occurs. 2150 */ 2151 RootDSEBackendCfgClient getRootDSEBackend() 2152 throws DefinitionDecodingException, ManagedObjectDecodingException, 2153 ManagedObjectNotFoundException, ConcurrentModificationException, 2154 LdapException; 2155 2156 2157 2158 /** 2159 * Lists the SASL Mechanism Handlers. 2160 * 2161 * @return Returns an array containing the names of the SASL 2162 * Mechanism Handlers. 2163 * @throws ConcurrentModificationException 2164 * If this Root has been removed from the server by 2165 * another client. 2166 * @throws LdapException 2167 * If any other error occurs. 2168 */ 2169 String[] listSASLMechanismHandlers() throws ConcurrentModificationException, 2170 LdapException; 2171 2172 2173 2174 /** 2175 * Gets the named SASL Mechanism Handler. 2176 * 2177 * @param name 2178 * The name of the SASL Mechanism Handler to retrieve. 2179 * @return Returns the named SASL Mechanism Handler. 2180 * @throws DefinitionDecodingException 2181 * If the named SASL Mechanism Handler was found but its 2182 * type could not be determined. 2183 * @throws ManagedObjectDecodingException 2184 * If the named SASL Mechanism Handler was found but one 2185 * or more of its properties could not be decoded. 2186 * @throws ManagedObjectNotFoundException 2187 * If the named SASL Mechanism Handler was not found on 2188 * the server. 2189 * @throws ConcurrentModificationException 2190 * If this Root has been removed from the server by 2191 * another client. 2192 * @throws LdapException 2193 * If any other error occurs. 2194 */ 2195 SASLMechanismHandlerCfgClient getSASLMechanismHandler(String name) 2196 throws DefinitionDecodingException, ManagedObjectDecodingException, 2197 ManagedObjectNotFoundException, ConcurrentModificationException, 2198 LdapException; 2199 2200 2201 2202 /** 2203 * Creates a new SASL Mechanism Handler. The new SASL Mechanism 2204 * Handler will initially not contain any property values (including 2205 * mandatory properties). Once the SASL Mechanism Handler has been 2206 * configured it can be added to the server using the {@link 2207 * #commit()} method. 2208 * 2209 * @param <C> 2210 * The type of the SASL Mechanism Handler being created. 2211 * @param d 2212 * The definition of the SASL Mechanism Handler to be 2213 * created. 2214 * @param name 2215 * The name of the new SASL Mechanism Handler. 2216 * @param exceptions 2217 * An optional collection in which to place any {@link 2218 * PropertyException}s that occurred whilst attempting to 2219 * determine the default values of the SASL Mechanism 2220 * Handler. This argument can be <code>null<code>. 2221 * @return Returns a new SASL Mechanism Handler configuration 2222 * instance. 2223 * @throws IllegalManagedObjectNameException 2224 * If the name of the new SASL Mechanism Handler is 2225 * invalid. 2226 */ 2227 <C extends SASLMechanismHandlerCfgClient> C createSASLMechanismHandler( 2228 ManagedObjectDefinition<C, ? extends SASLMechanismHandlerCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2229 2230 2231 2232 /** 2233 * Removes the named SASL Mechanism Handler. 2234 * 2235 * @param name 2236 * The name of the SASL Mechanism Handler to remove. 2237 * @throws ManagedObjectNotFoundException 2238 * If the SASL Mechanism Handler does not exist. 2239 * @throws OperationRejectedException 2240 * If the server refuses to remove the SASL Mechanism 2241 * Handler due to some server-side constraint which cannot 2242 * be satisfied (for example, if it is referenced by 2243 * another managed object). 2244 * @throws ConcurrentModificationException 2245 * If this Root has been removed from the server by 2246 * another client. 2247 * @throws LdapException 2248 * If any other error occurs. 2249 */ 2250 void removeSASLMechanismHandler(String name) 2251 throws ManagedObjectNotFoundException, OperationRejectedException, 2252 ConcurrentModificationException, LdapException; 2253 2254 2255 2256 /** 2257 * Lists the Schema Providers. 2258 * 2259 * @return Returns an array containing the names of the Schema 2260 * Providers. 2261 * @throws ConcurrentModificationException 2262 * If this Root has been removed from the server by 2263 * another client. 2264 * @throws LdapException 2265 * If any other error occurs. 2266 */ 2267 String[] listSchemaProviders() throws ConcurrentModificationException, 2268 LdapException; 2269 2270 2271 2272 /** 2273 * Gets the named Schema Provider. 2274 * 2275 * @param name 2276 * The name of the Schema Provider to retrieve. 2277 * @return Returns the named Schema Provider. 2278 * @throws DefinitionDecodingException 2279 * If the named Schema Provider was found but its type 2280 * could not be determined. 2281 * @throws ManagedObjectDecodingException 2282 * If the named Schema Provider was found but one or more 2283 * of its properties could not be decoded. 2284 * @throws ManagedObjectNotFoundException 2285 * If the named Schema Provider was not found on the 2286 * server. 2287 * @throws ConcurrentModificationException 2288 * If this Root has been removed from the server by 2289 * another client. 2290 * @throws LdapException 2291 * If any other error occurs. 2292 */ 2293 SchemaProviderCfgClient getSchemaProvider(String name) 2294 throws DefinitionDecodingException, ManagedObjectDecodingException, 2295 ManagedObjectNotFoundException, ConcurrentModificationException, 2296 LdapException; 2297 2298 2299 2300 /** 2301 * Creates a new Schema Provider. The new Schema Provider will 2302 * initially not contain any property values (including mandatory 2303 * properties). Once the Schema Provider has been configured it can 2304 * be added to the server using the {@link #commit()} method. 2305 * 2306 * @param <C> 2307 * The type of the Schema Provider being created. 2308 * @param d 2309 * The definition of the Schema Provider to be created. 2310 * @param name 2311 * The name of the new Schema Provider. 2312 * @param exceptions 2313 * An optional collection in which to place any {@link 2314 * PropertyException}s that occurred whilst attempting to 2315 * determine the default values of the Schema Provider. This 2316 * argument can be <code>null<code>. 2317 * @return Returns a new Schema Provider configuration instance. 2318 * @throws IllegalManagedObjectNameException 2319 * If the name of the new Schema Provider is invalid. 2320 */ 2321 <C extends SchemaProviderCfgClient> C createSchemaProvider( 2322 ManagedObjectDefinition<C, ? extends SchemaProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2323 2324 2325 2326 /** 2327 * Removes the named Schema Provider. 2328 * 2329 * @param name 2330 * The name of the Schema Provider to remove. 2331 * @throws ManagedObjectNotFoundException 2332 * If the Schema Provider does not exist. 2333 * @throws OperationRejectedException 2334 * If the server refuses to remove the Schema Provider due 2335 * to some server-side constraint which cannot be satisfied 2336 * (for example, if it is referenced by another managed 2337 * object). 2338 * @throws ConcurrentModificationException 2339 * If this Root has been removed from the server by 2340 * another client. 2341 * @throws LdapException 2342 * If any other error occurs. 2343 */ 2344 void removeSchemaProvider(String name) 2345 throws ManagedObjectNotFoundException, OperationRejectedException, 2346 ConcurrentModificationException, LdapException; 2347 2348 2349 2350 /** 2351 * Lists the Synchronization Providers. 2352 * 2353 * @return Returns an array containing the names of the 2354 * Synchronization Providers. 2355 * @throws ConcurrentModificationException 2356 * If this Root has been removed from the server by 2357 * another client. 2358 * @throws LdapException 2359 * If any other error occurs. 2360 */ 2361 String[] listSynchronizationProviders() throws ConcurrentModificationException, 2362 LdapException; 2363 2364 2365 2366 /** 2367 * Gets the named Synchronization Provider. 2368 * 2369 * @param name 2370 * The name of the Synchronization Provider to retrieve. 2371 * @return Returns the named Synchronization Provider. 2372 * @throws DefinitionDecodingException 2373 * If the named Synchronization Provider was found but its 2374 * type could not be determined. 2375 * @throws ManagedObjectDecodingException 2376 * If the named Synchronization Provider was found but one 2377 * or more of its properties could not be decoded. 2378 * @throws ManagedObjectNotFoundException 2379 * If the named Synchronization Provider was not found on 2380 * the server. 2381 * @throws ConcurrentModificationException 2382 * If this Root has been removed from the server by 2383 * another client. 2384 * @throws LdapException 2385 * If any other error occurs. 2386 */ 2387 SynchronizationProviderCfgClient getSynchronizationProvider(String name) 2388 throws DefinitionDecodingException, ManagedObjectDecodingException, 2389 ManagedObjectNotFoundException, ConcurrentModificationException, 2390 LdapException; 2391 2392 2393 2394 /** 2395 * Creates a new Synchronization Provider. The new Synchronization 2396 * Provider will initially not contain any property values (including 2397 * mandatory properties). Once the Synchronization Provider has been 2398 * configured it can be added to the server using the {@link 2399 * #commit()} method. 2400 * 2401 * @param <C> 2402 * The type of the Synchronization Provider being created. 2403 * @param d 2404 * The definition of the Synchronization Provider to be 2405 * created. 2406 * @param name 2407 * The name of the new Synchronization Provider. 2408 * @param exceptions 2409 * An optional collection in which to place any {@link 2410 * PropertyException}s that occurred whilst attempting to 2411 * determine the default values of the Synchronization 2412 * Provider. This argument can be <code>null<code>. 2413 * @return Returns a new Synchronization Provider configuration 2414 * instance. 2415 * @throws IllegalManagedObjectNameException 2416 * If the name of the new Synchronization Provider is 2417 * invalid. 2418 */ 2419 <C extends SynchronizationProviderCfgClient> C createSynchronizationProvider( 2420 ManagedObjectDefinition<C, ? extends SynchronizationProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2421 2422 2423 2424 /** 2425 * Removes the named Synchronization Provider. 2426 * 2427 * @param name 2428 * The name of the Synchronization Provider to remove. 2429 * @throws ManagedObjectNotFoundException 2430 * If the Synchronization Provider does not exist. 2431 * @throws OperationRejectedException 2432 * If the server refuses to remove the Synchronization 2433 * Provider due to some server-side constraint which cannot 2434 * be satisfied (for example, if it is referenced by 2435 * another managed object). 2436 * @throws ConcurrentModificationException 2437 * If this Root has been removed from the server by 2438 * another client. 2439 * @throws LdapException 2440 * If any other error occurs. 2441 */ 2442 void removeSynchronizationProvider(String name) 2443 throws ManagedObjectNotFoundException, OperationRejectedException, 2444 ConcurrentModificationException, LdapException; 2445 2446 2447 2448 /** 2449 * Lists the Trust Manager Providers. 2450 * 2451 * @return Returns an array containing the names of the Trust 2452 * Manager Providers. 2453 * @throws ConcurrentModificationException 2454 * If this Root has been removed from the server by 2455 * another client. 2456 * @throws LdapException 2457 * If any other error occurs. 2458 */ 2459 String[] listTrustManagerProviders() throws ConcurrentModificationException, 2460 LdapException; 2461 2462 2463 2464 /** 2465 * Gets the named Trust Manager Provider. 2466 * 2467 * @param name 2468 * The name of the Trust Manager Provider to retrieve. 2469 * @return Returns the named Trust Manager Provider. 2470 * @throws DefinitionDecodingException 2471 * If the named Trust Manager Provider was found but its 2472 * type could not be determined. 2473 * @throws ManagedObjectDecodingException 2474 * If the named Trust Manager Provider was found but one 2475 * or more of its properties could not be decoded. 2476 * @throws ManagedObjectNotFoundException 2477 * If the named Trust Manager Provider was not found on 2478 * the server. 2479 * @throws ConcurrentModificationException 2480 * If this Root has been removed from the server by 2481 * another client. 2482 * @throws LdapException 2483 * If any other error occurs. 2484 */ 2485 TrustManagerProviderCfgClient getTrustManagerProvider(String name) 2486 throws DefinitionDecodingException, ManagedObjectDecodingException, 2487 ManagedObjectNotFoundException, ConcurrentModificationException, 2488 LdapException; 2489 2490 2491 2492 /** 2493 * Creates a new Trust Manager Provider. The new Trust Manager 2494 * Provider will initially not contain any property values (including 2495 * mandatory properties). Once the Trust Manager Provider has been 2496 * configured it can be added to the server using the {@link 2497 * #commit()} method. 2498 * 2499 * @param <C> 2500 * The type of the Trust Manager Provider being created. 2501 * @param d 2502 * The definition of the Trust Manager Provider to be 2503 * created. 2504 * @param name 2505 * The name of the new Trust Manager Provider. 2506 * @param exceptions 2507 * An optional collection in which to place any {@link 2508 * PropertyException}s that occurred whilst attempting to 2509 * determine the default values of the Trust Manager 2510 * Provider. This argument can be <code>null<code>. 2511 * @return Returns a new Trust Manager Provider configuration 2512 * instance. 2513 * @throws IllegalManagedObjectNameException 2514 * If the name of the new Trust Manager Provider is 2515 * invalid. 2516 */ 2517 <C extends TrustManagerProviderCfgClient> C createTrustManagerProvider( 2518 ManagedObjectDefinition<C, ? extends TrustManagerProviderCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2519 2520 2521 2522 /** 2523 * Removes the named Trust Manager Provider. 2524 * 2525 * @param name 2526 * The name of the Trust Manager Provider to remove. 2527 * @throws ManagedObjectNotFoundException 2528 * If the Trust Manager Provider does not exist. 2529 * @throws OperationRejectedException 2530 * If the server refuses to remove the Trust Manager 2531 * Provider due to some server-side constraint which cannot 2532 * be satisfied (for example, if it is referenced by 2533 * another managed object). 2534 * @throws ConcurrentModificationException 2535 * If this Root has been removed from the server by 2536 * another client. 2537 * @throws LdapException 2538 * If any other error occurs. 2539 */ 2540 void removeTrustManagerProvider(String name) 2541 throws ManagedObjectNotFoundException, OperationRejectedException, 2542 ConcurrentModificationException, LdapException; 2543 2544 2545 2546 /** 2547 * Lists the Virtual Attributes. 2548 * 2549 * @return Returns an array containing the names of the Virtual 2550 * Attributes. 2551 * @throws ConcurrentModificationException 2552 * If this Root has been removed from the server by 2553 * another client. 2554 * @throws LdapException 2555 * If any other error occurs. 2556 */ 2557 String[] listVirtualAttributes() throws ConcurrentModificationException, 2558 LdapException; 2559 2560 2561 2562 /** 2563 * Gets the named Virtual Attribute. 2564 * 2565 * @param name 2566 * The name of the Virtual Attribute to retrieve. 2567 * @return Returns the named Virtual Attribute. 2568 * @throws DefinitionDecodingException 2569 * If the named Virtual Attribute was found but its type 2570 * could not be determined. 2571 * @throws ManagedObjectDecodingException 2572 * If the named Virtual Attribute was found but one or 2573 * more of its properties could not be decoded. 2574 * @throws ManagedObjectNotFoundException 2575 * If the named Virtual Attribute was not found on the 2576 * server. 2577 * @throws ConcurrentModificationException 2578 * If this Root has been removed from the server by 2579 * another client. 2580 * @throws LdapException 2581 * If any other error occurs. 2582 */ 2583 VirtualAttributeCfgClient getVirtualAttribute(String name) 2584 throws DefinitionDecodingException, ManagedObjectDecodingException, 2585 ManagedObjectNotFoundException, ConcurrentModificationException, 2586 LdapException; 2587 2588 2589 2590 /** 2591 * Creates a new Virtual Attribute. The new Virtual Attribute will 2592 * initially not contain any property values (including mandatory 2593 * properties). Once the Virtual Attribute has been configured it can 2594 * be added to the server using the {@link #commit()} method. 2595 * 2596 * @param <C> 2597 * The type of the Virtual Attribute being created. 2598 * @param d 2599 * The definition of the Virtual Attribute to be created. 2600 * @param name 2601 * The name of the new Virtual Attribute. 2602 * @param exceptions 2603 * An optional collection in which to place any {@link 2604 * PropertyException}s that occurred whilst attempting to 2605 * determine the default values of the Virtual Attribute. 2606 * This argument can be <code>null<code>. 2607 * @return Returns a new Virtual Attribute configuration instance. 2608 * @throws IllegalManagedObjectNameException 2609 * If the name of the new Virtual Attribute is invalid. 2610 */ 2611 <C extends VirtualAttributeCfgClient> C createVirtualAttribute( 2612 ManagedObjectDefinition<C, ? extends VirtualAttributeCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException; 2613 2614 2615 2616 /** 2617 * Removes the named Virtual Attribute. 2618 * 2619 * @param name 2620 * The name of the Virtual Attribute to remove. 2621 * @throws ManagedObjectNotFoundException 2622 * If the Virtual Attribute does not exist. 2623 * @throws OperationRejectedException 2624 * If the server refuses to remove the Virtual Attribute 2625 * due to some server-side constraint which cannot be 2626 * satisfied (for example, if it is referenced by another 2627 * managed object). 2628 * @throws ConcurrentModificationException 2629 * If this Root has been removed from the server by 2630 * another client. 2631 * @throws LdapException 2632 * If any other error occurs. 2633 */ 2634 void removeVirtualAttribute(String name) 2635 throws ManagedObjectNotFoundException, OperationRejectedException, 2636 ConcurrentModificationException, LdapException; 2637 2638 2639 2640 /** 2641 * Gets the Work Queue. 2642 * 2643 * @return Returns the Work Queue. 2644 * @throws DefinitionDecodingException 2645 * If the Work Queue was found but its type could not be 2646 * determined. 2647 * @throws ManagedObjectDecodingException 2648 * If the Work Queue was found but one or more of its 2649 * properties could not be decoded. 2650 * @throws ManagedObjectNotFoundException 2651 * If the Work Queue could not be found on the server. 2652 * @throws ConcurrentModificationException 2653 * If this Root has been removed from the server by 2654 * another client. 2655 * @throws LdapException 2656 * If any other error occurs. 2657 */ 2658 WorkQueueCfgClient getWorkQueue() 2659 throws DefinitionDecodingException, ManagedObjectDecodingException, 2660 ManagedObjectNotFoundException, ConcurrentModificationException, 2661 LdapException; 2662 2663}