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