001 /* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at 010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE 011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE. 012 * See the License for the specific language governing permissions 013 * and limitations under the License. 014 * 015 * When distributing Covered Code, include this CDDL HEADER in each 016 * file and include the License file at 017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, 018 * add the following below this CDDL HEADER, with the fields enclosed 019 * by brackets "[]" replaced with your own identifying information: 020 * Portions Copyright [yyyy] [name of copyright owner] 021 * 022 * CDDL HEADER END 023 * 024 * 025 * Copyright 2008 Sun Microsystems, Inc. 026 */ 027 package org.opends.server.admin.std.client; 028 029 030 031 import java.util.Collection; 032 import java.util.SortedSet; 033 import org.opends.server.admin.ConfigurationClient; 034 import org.opends.server.admin.IllegalPropertyValueException; 035 import org.opends.server.admin.ManagedObjectDefinition; 036 import org.opends.server.admin.std.meta.GlobalCfgDefn.DisabledPrivilege; 037 import org.opends.server.admin.std.meta.GlobalCfgDefn.EtimeResolution; 038 import org.opends.server.admin.std.meta.GlobalCfgDefn.InvalidAttributeSyntaxBehavior; 039 import org.opends.server.admin.std.meta.GlobalCfgDefn.SingleStructuralObjectclassBehavior; 040 import org.opends.server.admin.std.meta.GlobalCfgDefn.WorkflowConfigurationMode; 041 import org.opends.server.admin.std.meta.GlobalCfgDefn.WritabilityMode; 042 import org.opends.server.admin.std.server.GlobalCfg; 043 044 045 046 /** 047 * A client-side interface for reading and modifying Global 048 * Configuration settings. 049 * <p> 050 * The Global Configuration contains properties that affect the 051 * overall operation of the OpenDS Directory Server . 052 */ 053 public interface GlobalCfgClient extends ConfigurationClient { 054 055 /** 056 * Get the configuration definition associated with this Global Configuration. 057 * 058 * @return Returns the configuration definition associated with this Global Configuration. 059 */ 060 ManagedObjectDefinition<? extends GlobalCfgClient, ? extends GlobalCfg> definition(); 061 062 063 064 /** 065 * Gets the "add-missing-rdn-attributes" property. 066 * <p> 067 * Indicates whether the Directory Server should automatically add 068 * any attribute values contained in the entry's RDN into that entry 069 * when processing an add request. 070 * 071 * @return Returns the value of the "add-missing-rdn-attributes" property. 072 */ 073 boolean isAddMissingRDNAttributes(); 074 075 076 077 /** 078 * Sets the "add-missing-rdn-attributes" property. 079 * <p> 080 * Indicates whether the Directory Server should automatically add 081 * any attribute values contained in the entry's RDN into that entry 082 * when processing an add request. 083 * 084 * @param value The value of the "add-missing-rdn-attributes" property. 085 * @throws IllegalPropertyValueException 086 * If the new value is invalid. 087 */ 088 void setAddMissingRDNAttributes(Boolean value) throws IllegalPropertyValueException; 089 090 091 092 /** 093 * Gets the "allow-attribute-name-exceptions" property. 094 * <p> 095 * Indicates whether the Directory Server should allow underscores 096 * in attribute names and allow attribute names to begin with numeric 097 * digits (both of which are violations of the LDAP standards). 098 * 099 * @return Returns the value of the "allow-attribute-name-exceptions" property. 100 */ 101 boolean isAllowAttributeNameExceptions(); 102 103 104 105 /** 106 * Sets the "allow-attribute-name-exceptions" property. 107 * <p> 108 * Indicates whether the Directory Server should allow underscores 109 * in attribute names and allow attribute names to begin with numeric 110 * digits (both of which are violations of the LDAP standards). 111 * 112 * @param value The value of the "allow-attribute-name-exceptions" property. 113 * @throws IllegalPropertyValueException 114 * If the new value is invalid. 115 */ 116 void setAllowAttributeNameExceptions(Boolean value) throws IllegalPropertyValueException; 117 118 119 120 /** 121 * Gets the "allowed-task" property. 122 * <p> 123 * Specifies the fully-qualified name of a Java class that may be 124 * invoked in the server. 125 * <p> 126 * Any attempt to invoke a task not included in the list of allowed 127 * tasks is rejected. 128 * 129 * @return Returns the values of the "allowed-task" property. 130 */ 131 SortedSet<String> getAllowedTask(); 132 133 134 135 /** 136 * Sets the "allowed-task" property. 137 * <p> 138 * Specifies the fully-qualified name of a Java class that may be 139 * invoked in the server. 140 * <p> 141 * Any attempt to invoke a task not included in the list of allowed 142 * tasks is rejected. 143 * 144 * @param values The values of the "allowed-task" property. 145 * @throws IllegalPropertyValueException 146 * If one or more of the new values are invalid. 147 */ 148 void setAllowedTask(Collection<String> values) throws IllegalPropertyValueException; 149 150 151 152 /** 153 * Gets the "bind-with-dn-requires-password" property. 154 * <p> 155 * Indicates whether the Directory Server should reject any simple 156 * bind request that contains a DN but no password. 157 * <p> 158 * Although such bind requests are technically allowed by the LDAPv3 159 * specification (and should be treated as anonymous simple 160 * authentication), they may introduce security problems in 161 * applications that do not verify that the client actually provided 162 * a password. 163 * 164 * @return Returns the value of the "bind-with-dn-requires-password" property. 165 */ 166 boolean isBindWithDNRequiresPassword(); 167 168 169 170 /** 171 * Sets the "bind-with-dn-requires-password" property. 172 * <p> 173 * Indicates whether the Directory Server should reject any simple 174 * bind request that contains a DN but no password. 175 * <p> 176 * Although such bind requests are technically allowed by the LDAPv3 177 * specification (and should be treated as anonymous simple 178 * authentication), they may introduce security problems in 179 * applications that do not verify that the client actually provided 180 * a password. 181 * 182 * @param value The value of the "bind-with-dn-requires-password" property. 183 * @throws IllegalPropertyValueException 184 * If the new value is invalid. 185 */ 186 void setBindWithDNRequiresPassword(Boolean value) throws IllegalPropertyValueException; 187 188 189 190 /** 191 * Gets the "check-schema" property. 192 * <p> 193 * Indicates whether schema enforcement is active. 194 * <p> 195 * When schema enforcement is activated, the Directory Server 196 * ensures that all operations result in entries are valid according 197 * to the defined server schema. It is strongly recommended that this 198 * option be left enabled to prevent the inadvertent addition of 199 * invalid data into the server. 200 * 201 * @return Returns the value of the "check-schema" property. 202 */ 203 boolean isCheckSchema(); 204 205 206 207 /** 208 * Sets the "check-schema" property. 209 * <p> 210 * Indicates whether schema enforcement is active. 211 * <p> 212 * When schema enforcement is activated, the Directory Server 213 * ensures that all operations result in entries are valid according 214 * to the defined server schema. It is strongly recommended that this 215 * option be left enabled to prevent the inadvertent addition of 216 * invalid data into the server. 217 * 218 * @param value The value of the "check-schema" property. 219 * @throws IllegalPropertyValueException 220 * If the new value is invalid. 221 */ 222 void setCheckSchema(Boolean value) throws IllegalPropertyValueException; 223 224 225 226 /** 227 * Gets the "default-password-policy" property. 228 * <p> 229 * Specifies the name of the password policy that is in effect for 230 * users whose entries do not specify an alternate password policy 231 * (either via a real or virtual attribute). 232 * 233 * @return Returns the value of the "default-password-policy" property. 234 */ 235 String getDefaultPasswordPolicy(); 236 237 238 239 /** 240 * Sets the "default-password-policy" property. 241 * <p> 242 * Specifies the name of the password policy that is in effect for 243 * users whose entries do not specify an alternate password policy 244 * (either via a real or virtual attribute). 245 * 246 * @param value The value of the "default-password-policy" property. 247 * @throws IllegalPropertyValueException 248 * If the new value is invalid. 249 */ 250 void setDefaultPasswordPolicy(String value) throws IllegalPropertyValueException; 251 252 253 254 /** 255 * Gets the "disabled-privilege" property. 256 * <p> 257 * Specifies the name of a privilege that should not be evaluated by 258 * the server. 259 * <p> 260 * If a privilege is disabled, then it is assumed that all clients 261 * (including unauthenticated clients) have that privilege. 262 * 263 * @return Returns the values of the "disabled-privilege" property. 264 */ 265 SortedSet<DisabledPrivilege> getDisabledPrivilege(); 266 267 268 269 /** 270 * Sets the "disabled-privilege" property. 271 * <p> 272 * Specifies the name of a privilege that should not be evaluated by 273 * the server. 274 * <p> 275 * If a privilege is disabled, then it is assumed that all clients 276 * (including unauthenticated clients) have that privilege. 277 * 278 * @param values The values of the "disabled-privilege" property. 279 * @throws IllegalPropertyValueException 280 * If one or more of the new values are invalid. 281 */ 282 void setDisabledPrivilege(Collection<DisabledPrivilege> values) throws IllegalPropertyValueException; 283 284 285 286 /** 287 * Gets the "entry-cache-preload" property. 288 * <p> 289 * Indicates whether or not to preload the entry cache on startup. 290 * 291 * @return Returns the value of the "entry-cache-preload" property. 292 */ 293 boolean isEntryCachePreload(); 294 295 296 297 /** 298 * Sets the "entry-cache-preload" property. 299 * <p> 300 * Indicates whether or not to preload the entry cache on startup. 301 * 302 * @param value The value of the "entry-cache-preload" property. 303 * @throws IllegalPropertyValueException 304 * If the new value is invalid. 305 */ 306 void setEntryCachePreload(Boolean value) throws IllegalPropertyValueException; 307 308 309 310 /** 311 * Gets the "etime-resolution" property. 312 * <p> 313 * Specifies the resolution to use for operation elapsed processing 314 * time (etime) measurements. 315 * 316 * @return Returns the value of the "etime-resolution" property. 317 */ 318 EtimeResolution getEtimeResolution(); 319 320 321 322 /** 323 * Sets the "etime-resolution" property. 324 * <p> 325 * Specifies the resolution to use for operation elapsed processing 326 * time (etime) measurements. 327 * 328 * @param value The value of the "etime-resolution" property. 329 * @throws IllegalPropertyValueException 330 * If the new value is invalid. 331 */ 332 void setEtimeResolution(EtimeResolution value) throws IllegalPropertyValueException; 333 334 335 336 /** 337 * Gets the "idle-time-limit" property. 338 * <p> 339 * Specifies the maximum length of time that a client connection may 340 * remain established since its last completed operation. 341 * <p> 342 * A value of "0 seconds" indicates that no idle time limit is 343 * enforced. 344 * 345 * @return Returns the value of the "idle-time-limit" property. 346 */ 347 long getIdleTimeLimit(); 348 349 350 351 /** 352 * Sets the "idle-time-limit" property. 353 * <p> 354 * Specifies the maximum length of time that a client connection may 355 * remain established since its last completed operation. 356 * <p> 357 * A value of "0 seconds" indicates that no idle time limit is 358 * enforced. 359 * 360 * @param value The value of the "idle-time-limit" property. 361 * @throws IllegalPropertyValueException 362 * If the new value is invalid. 363 */ 364 void setIdleTimeLimit(Long value) throws IllegalPropertyValueException; 365 366 367 368 /** 369 * Gets the "invalid-attribute-syntax-behavior" property. 370 * <p> 371 * Specifies how the Directory Server should handle operations 372 * whenever an attribute value violates the associated attribute 373 * syntax. 374 * 375 * @return Returns the value of the "invalid-attribute-syntax-behavior" property. 376 */ 377 InvalidAttributeSyntaxBehavior getInvalidAttributeSyntaxBehavior(); 378 379 380 381 /** 382 * Sets the "invalid-attribute-syntax-behavior" property. 383 * <p> 384 * Specifies how the Directory Server should handle operations 385 * whenever an attribute value violates the associated attribute 386 * syntax. 387 * 388 * @param value The value of the "invalid-attribute-syntax-behavior" property. 389 * @throws IllegalPropertyValueException 390 * If the new value is invalid. 391 */ 392 void setInvalidAttributeSyntaxBehavior(InvalidAttributeSyntaxBehavior value) throws IllegalPropertyValueException; 393 394 395 396 /** 397 * Gets the "lookthrough-limit" property. 398 * <p> 399 * Specifies the maximum number of entries that the Directory Server 400 * should "look through" in the course of processing a search 401 * request. 402 * <p> 403 * This includes any entry that the server must examine in the 404 * course of processing the request, regardless of whether it 405 * actually matches the search criteria. A value of 0 indicates that 406 * no lookthrough limit is enforced. Note that this is the default 407 * server-wide limit, but it may be overridden on a per-user basis 408 * using the ds-rlim-lookthrough-limit operational attribute. 409 * 410 * @return Returns the value of the "lookthrough-limit" property. 411 */ 412 int getLookthroughLimit(); 413 414 415 416 /** 417 * Sets the "lookthrough-limit" property. 418 * <p> 419 * Specifies the maximum number of entries that the Directory Server 420 * should "look through" in the course of processing a search 421 * request. 422 * <p> 423 * This includes any entry that the server must examine in the 424 * course of processing the request, regardless of whether it 425 * actually matches the search criteria. A value of 0 indicates that 426 * no lookthrough limit is enforced. Note that this is the default 427 * server-wide limit, but it may be overridden on a per-user basis 428 * using the ds-rlim-lookthrough-limit operational attribute. 429 * 430 * @param value The value of the "lookthrough-limit" property. 431 * @throws IllegalPropertyValueException 432 * If the new value is invalid. 433 */ 434 void setLookthroughLimit(Integer value) throws IllegalPropertyValueException; 435 436 437 438 /** 439 * Gets the "notify-abandoned-operations" property. 440 * <p> 441 * Indicates whether the Directory Server should send a response to 442 * any operation that is interrupted via an abandon request. 443 * <p> 444 * The LDAP specification states that abandoned operations should 445 * not receive any response, but this may cause problems with client 446 * applications that always expect to receive a response to each 447 * request. 448 * 449 * @return Returns the value of the "notify-abandoned-operations" property. 450 */ 451 boolean isNotifyAbandonedOperations(); 452 453 454 455 /** 456 * Sets the "notify-abandoned-operations" property. 457 * <p> 458 * Indicates whether the Directory Server should send a response to 459 * any operation that is interrupted via an abandon request. 460 * <p> 461 * The LDAP specification states that abandoned operations should 462 * not receive any response, but this may cause problems with client 463 * applications that always expect to receive a response to each 464 * request. 465 * 466 * @param value The value of the "notify-abandoned-operations" property. 467 * @throws IllegalPropertyValueException 468 * If the new value is invalid. 469 */ 470 void setNotifyAbandonedOperations(Boolean value) throws IllegalPropertyValueException; 471 472 473 474 /** 475 * Gets the "proxied-authorization-identity-mapper" property. 476 * <p> 477 * Specifies the name of the identity mapper to map authorization ID 478 * values (using the "u:" form) provided in the proxied authorization 479 * control to the corresponding user entry. 480 * 481 * @return Returns the value of the "proxied-authorization-identity-mapper" property. 482 */ 483 String getProxiedAuthorizationIdentityMapper(); 484 485 486 487 /** 488 * Sets the "proxied-authorization-identity-mapper" property. 489 * <p> 490 * Specifies the name of the identity mapper to map authorization ID 491 * values (using the "u:" form) provided in the proxied authorization 492 * control to the corresponding user entry. 493 * 494 * @param value The value of the "proxied-authorization-identity-mapper" property. 495 * @throws IllegalPropertyValueException 496 * If the new value is invalid. 497 */ 498 void setProxiedAuthorizationIdentityMapper(String value) throws IllegalPropertyValueException; 499 500 501 502 /** 503 * Gets the "reject-unauthenticated-requests" property. 504 * <p> 505 * Indicates whether the Directory Server should reject any request 506 * (other than bind or StartTLS requests) received from a client that 507 * has not yet been authenticated, whose last authentication attempt 508 * was unsuccessful, or whose last authentication attempt used 509 * anonymous authentication. 510 * 511 * @return Returns the value of the "reject-unauthenticated-requests" property. 512 */ 513 boolean isRejectUnauthenticatedRequests(); 514 515 516 517 /** 518 * Sets the "reject-unauthenticated-requests" property. 519 * <p> 520 * Indicates whether the Directory Server should reject any request 521 * (other than bind or StartTLS requests) received from a client that 522 * has not yet been authenticated, whose last authentication attempt 523 * was unsuccessful, or whose last authentication attempt used 524 * anonymous authentication. 525 * 526 * @param value The value of the "reject-unauthenticated-requests" property. 527 * @throws IllegalPropertyValueException 528 * If the new value is invalid. 529 */ 530 void setRejectUnauthenticatedRequests(Boolean value) throws IllegalPropertyValueException; 531 532 533 534 /** 535 * Gets the "return-bind-error-messages" property. 536 * <p> 537 * Indicates whether responses for failed bind operations should 538 * include a message string providing the reason for the 539 * authentication failure. 540 * <p> 541 * Note that these messages may include information that could 542 * potentially be used by an attacker. If this option is disabled, 543 * then these messages appears only in the server's access log. 544 * 545 * @return Returns the value of the "return-bind-error-messages" property. 546 */ 547 boolean isReturnBindErrorMessages(); 548 549 550 551 /** 552 * Sets the "return-bind-error-messages" property. 553 * <p> 554 * Indicates whether responses for failed bind operations should 555 * include a message string providing the reason for the 556 * authentication failure. 557 * <p> 558 * Note that these messages may include information that could 559 * potentially be used by an attacker. If this option is disabled, 560 * then these messages appears only in the server's access log. 561 * 562 * @param value The value of the "return-bind-error-messages" property. 563 * @throws IllegalPropertyValueException 564 * If the new value is invalid. 565 */ 566 void setReturnBindErrorMessages(Boolean value) throws IllegalPropertyValueException; 567 568 569 570 /** 571 * Gets the "save-config-on-successful-startup" property. 572 * <p> 573 * Indicates whether the Directory Server should save a copy of its 574 * configuration whenever the startup process completes successfully. 575 * <p> 576 * This ensures that the server provides a "last known good" 577 * configuration, which can be used as a reference (or copied into 578 * the active config) if the server fails to start with the current 579 * "active" configuration. 580 * 581 * @return Returns the value of the "save-config-on-successful-startup" property. 582 */ 583 boolean isSaveConfigOnSuccessfulStartup(); 584 585 586 587 /** 588 * Sets the "save-config-on-successful-startup" property. 589 * <p> 590 * Indicates whether the Directory Server should save a copy of its 591 * configuration whenever the startup process completes successfully. 592 * <p> 593 * This ensures that the server provides a "last known good" 594 * configuration, which can be used as a reference (or copied into 595 * the active config) if the server fails to start with the current 596 * "active" configuration. 597 * 598 * @param value The value of the "save-config-on-successful-startup" property. 599 * @throws IllegalPropertyValueException 600 * If the new value is invalid. 601 */ 602 void setSaveConfigOnSuccessfulStartup(Boolean value) throws IllegalPropertyValueException; 603 604 605 606 /** 607 * Gets the "server-error-result-code" property. 608 * <p> 609 * Specifies the numeric value of the result code when request 610 * processing fails due to an internal server error. 611 * 612 * @return Returns the value of the "server-error-result-code" property. 613 */ 614 int getServerErrorResultCode(); 615 616 617 618 /** 619 * Sets the "server-error-result-code" property. 620 * <p> 621 * Specifies the numeric value of the result code when request 622 * processing fails due to an internal server error. 623 * 624 * @param value The value of the "server-error-result-code" property. 625 * @throws IllegalPropertyValueException 626 * If the new value is invalid. 627 */ 628 void setServerErrorResultCode(Integer value) throws IllegalPropertyValueException; 629 630 631 632 /** 633 * Gets the "single-structural-objectclass-behavior" property. 634 * <p> 635 * Specifies how the Directory Server should handle operations an 636 * entry does not contain a structural object class or contains 637 * multiple structural classes. 638 * 639 * @return Returns the value of the "single-structural-objectclass-behavior" property. 640 */ 641 SingleStructuralObjectclassBehavior getSingleStructuralObjectclassBehavior(); 642 643 644 645 /** 646 * Sets the "single-structural-objectclass-behavior" property. 647 * <p> 648 * Specifies how the Directory Server should handle operations an 649 * entry does not contain a structural object class or contains 650 * multiple structural classes. 651 * 652 * @param value The value of the "single-structural-objectclass-behavior" property. 653 * @throws IllegalPropertyValueException 654 * If the new value is invalid. 655 */ 656 void setSingleStructuralObjectclassBehavior(SingleStructuralObjectclassBehavior value) throws IllegalPropertyValueException; 657 658 659 660 /** 661 * Gets the "size-limit" property. 662 * <p> 663 * Specifies the maximum number of entries that the Directory Server 664 * should return to the client durin a search operation. 665 * <p> 666 * A value of 0 indicates that no size limit is enforced. Note that 667 * this is the default server-wide limit, but it may be overridden on 668 * a per-user basis using the ds-rlim-size-limit operational 669 * attribute. 670 * 671 * @return Returns the value of the "size-limit" property. 672 */ 673 int getSizeLimit(); 674 675 676 677 /** 678 * Sets the "size-limit" property. 679 * <p> 680 * Specifies the maximum number of entries that the Directory Server 681 * should return to the client durin a search operation. 682 * <p> 683 * A value of 0 indicates that no size limit is enforced. Note that 684 * this is the default server-wide limit, but it may be overridden on 685 * a per-user basis using the ds-rlim-size-limit operational 686 * attribute. 687 * 688 * @param value The value of the "size-limit" property. 689 * @throws IllegalPropertyValueException 690 * If the new value is invalid. 691 */ 692 void setSizeLimit(Integer value) throws IllegalPropertyValueException; 693 694 695 696 /** 697 * Gets the "smtp-server" property. 698 * <p> 699 * Specifies the address (and optional port number) for a mail 700 * server that can be used to send email messages via SMTP. 701 * <p> 702 * It may be an IP address or resolvable hostname, optionally 703 * followed by a colon and a port number. 704 * 705 * @return Returns the values of the "smtp-server" property. 706 */ 707 SortedSet<String> getSMTPServer(); 708 709 710 711 /** 712 * Sets the "smtp-server" property. 713 * <p> 714 * Specifies the address (and optional port number) for a mail 715 * server that can be used to send email messages via SMTP. 716 * <p> 717 * It may be an IP address or resolvable hostname, optionally 718 * followed by a colon and a port number. 719 * 720 * @param values The values of the "smtp-server" property. 721 * @throws IllegalPropertyValueException 722 * If one or more of the new values are invalid. 723 */ 724 void setSMTPServer(Collection<String> values) throws IllegalPropertyValueException; 725 726 727 728 /** 729 * Gets the "time-limit" property. 730 * <p> 731 * Specifies the maximum length of time that the Directory Server 732 * should spend processing a search operation. 733 * <p> 734 * A value of 0 seconds indicates that no time limit is enforced. 735 * Note that this is the default server-wide time limit, but it may 736 * be overridden on a per-user basis using the ds-rlim-time-limit 737 * operational attribute. 738 * 739 * @return Returns the value of the "time-limit" property. 740 */ 741 long getTimeLimit(); 742 743 744 745 /** 746 * Sets the "time-limit" property. 747 * <p> 748 * Specifies the maximum length of time that the Directory Server 749 * should spend processing a search operation. 750 * <p> 751 * A value of 0 seconds indicates that no time limit is enforced. 752 * Note that this is the default server-wide time limit, but it may 753 * be overridden on a per-user basis using the ds-rlim-time-limit 754 * operational attribute. 755 * 756 * @param value The value of the "time-limit" property. 757 * @throws IllegalPropertyValueException 758 * If the new value is invalid. 759 */ 760 void setTimeLimit(Long value) throws IllegalPropertyValueException; 761 762 763 764 /** 765 * Gets the "workflow-configuration-mode" property. 766 * <p> 767 * Specifies the workflow configuration mode (auto vs. manual). 768 * 769 * @return Returns the value of the "workflow-configuration-mode" property. 770 */ 771 WorkflowConfigurationMode getWorkflowConfigurationMode(); 772 773 774 775 /** 776 * Sets the "workflow-configuration-mode" property. 777 * <p> 778 * Specifies the workflow configuration mode (auto vs. manual). 779 * 780 * @param value The value of the "workflow-configuration-mode" property. 781 * @throws IllegalPropertyValueException 782 * If the new value is invalid. 783 */ 784 void setWorkflowConfigurationMode(WorkflowConfigurationMode value) throws IllegalPropertyValueException; 785 786 787 788 /** 789 * Gets the "writability-mode" property. 790 * <p> 791 * Specifies the kinds of write operations the Directory Server can 792 * process. 793 * 794 * @return Returns the value of the "writability-mode" property. 795 */ 796 WritabilityMode getWritabilityMode(); 797 798 799 800 /** 801 * Sets the "writability-mode" property. 802 * <p> 803 * Specifies the kinds of write operations the Directory Server can 804 * process. 805 * 806 * @param value The value of the "writability-mode" property. 807 * @throws IllegalPropertyValueException 808 * If the new value is invalid. 809 */ 810 void setWritabilityMode(WritabilityMode value) throws IllegalPropertyValueException; 811 812 }