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 2006-2008 Sun Microsystems, Inc.
026     */
027    package org.opends.server.util;
028    
029    
030    
031    /**
032     * This class defines a set of constants that may be referenced throughout the
033     * Directory Server source.
034     */
035    @org.opends.server.types.PublicAPI(
036         stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
037         mayInstantiate=false,
038         mayExtend=false,
039         mayInvoke=true)
040    public final class ServerConstants
041    {
042      /**
043       * The end-of-line character for this platform.
044       */
045      public static final String EOL = System.getProperty("line.separator");
046    
047    
048    
049      /**
050       * The value that will be used in the configuration for Boolean elements with
051       * a value of "true".
052       */
053      public static final String CONFIG_VALUE_TRUE = "true";
054    
055    
056    
057      /**
058       * The value that will be used in the configuration for Boolean elements with
059       * a value of "false".
060       */
061      public static final String CONFIG_VALUE_FALSE = "false";
062    
063    
064    
065      /**
066       * The date format string that will be used to construct and parse dates
067       * represented in a form like UTC time, but using the local time zone.
068       */
069      public static final String DATE_FORMAT_COMPACT_LOCAL_TIME =
070           "yyyyMMddHHmmss";
071    
072    
073    
074      /**
075       * The date format string that will be used to construct and parse dates
076       * represented using generalized time.  It is assumed that the provided date
077       * formatter will be set to UTC.
078       */
079      public static final String DATE_FORMAT_GENERALIZED_TIME =
080           "yyyyMMddHHmmss.SSS'Z'";
081    
082    
083    
084      /**
085       * The date format string that will be used to construct and parse dates
086       * represented using generalized time.  It is assumed that the provided date
087       * formatter will be set to UTC.
088       */
089      public static final String DATE_FORMAT_LOCAL_TIME =
090           "dd/MMM/yyyy:HH:mm:ss Z";
091    
092    
093    
094      /**
095       * The date format string that will be used to construct and parse dates
096       * represented using generalized time with a four-digit year.  It is assumed
097       * that the provided date formatter will be set to UTC.
098       */
099      public static final String DATE_FORMAT_GMT_TIME =
100           "yyyyMMddHHmmss'Z'";
101    
102    
103    
104      /**
105       * The date format string that will be used to construct and parse dates
106       * represented using generalized time with a two-digit year.  It is assumed
107       * that the provided date formatter will be set to UTC.
108       */
109      public static final String DATE_FORMAT_UTC_TIME =
110           "yyMMddHHmmss'Z'";
111    
112    
113    
114      /**
115       * The name of the time zone for universal coordinated time (UTC).
116       */
117      public static final String TIME_ZONE_UTC = "UTC";
118    
119    
120    
121      /**
122       * The name of the standard attribute that is used to specify the target DN in
123       * an alias entry, formatted in all lowercase.
124       */
125      public static final String ATTR_ALIAS_DN = "aliasedobjectname";
126    
127    
128    
129      /**
130       * The name of the standard attribute that is used to hold country names,
131       * formatted in all lowercase.
132       */
133      public static final String ATTR_C = "c";
134    
135    
136    
137      /**
138       * The name of the standard attribute that is used to hold common names,
139       * formatted in all lowercase.
140       */
141      public static final String ATTR_COMMON_NAME = "cn";
142    
143    
144    
145      /**
146       * The name of the attribute that is used to specify the number of connections
147       * currently established, formatted in camel case.
148       */
149      public static final String ATTR_CURRENT_CONNS = "currentConnections";
150    
151    
152    
153      /**
154       * The name of the attribute that is used to specify the number of connections
155       * currently established, formatted in all lowercase.
156       */
157      public static final String ATTR_CURRENT_CONNS_LC = "currentconnections";
158    
159    
160    
161      /**
162       * The name of the attribute that is used to specify the current time,
163       * formatted in camel case.
164       */
165      public static final String ATTR_CURRENT_TIME = "currentTime";
166    
167    
168    
169      /**
170       * The name of the attribute that is used to specify the current time,
171       * formatted in all lowercase.
172       */
173      public static final String ATTR_CURRENT_TIME_LC = "currenttime";
174    
175    
176    
177      /**
178       * The name of the standard attribute that is used to hold domain component
179       * names, formatted in all lowercase.
180       */
181      public static final String ATTR_DC = "dc";
182    
183    
184    
185      /**
186       * The name of the attribute that is used to specify the maximum number of
187       * connections established at any time since startup, formatted in camel case.
188       */
189      public static final String ATTR_MAX_CONNS = "maxConnections";
190    
191    
192    
193      /**
194       * The name of the attribute that is used to specify the maximum number of
195       * connections established at any time since startup, formatted in all
196       * lowercase.
197       */
198      public static final String ATTR_MAX_CONNS_LC = "maxconnections";
199    
200    
201    
202      /**
203       * The name of the standard "member" attribute type, formatted in all
204       * lowercase characters.
205       */
206      public static final String ATTR_MEMBER = "member";
207    
208    
209    
210      /**
211       * The name of the standard "memberURL" attribute type, formatted in camel
212       * case.
213       */
214      public static final String ATTR_MEMBER_URL = "memberURL";
215    
216    
217    
218      /**
219       * The name of the standard "memberURL" attribute type, formatted in all
220       * lowercase characters.
221       */
222      public static final String ATTR_MEMBER_URL_LC = "memberurl";
223    
224    
225    
226      /**
227       * The name of the monitor attribute that is used to hold a backend ID.
228       */
229      public static final String ATTR_MONITOR_BACKEND_ID = "ds-backend-id";
230    
231    
232    
233      /**
234       * The name of the monitor attribute that is used to hold the set of base DNs.
235       */
236      public static final String ATTR_MONITOR_BACKEND_BASE_DN =
237           "ds-backend-base-dn";
238    
239    
240    
241      /**
242       * The name of the monitor attribute that is used to indicate whether a
243       * backend is private.
244       */
245      public static final String ATTR_MONITOR_BACKEND_IS_PRIVATE =
246           "ds-backend-is-private";
247    
248    
249    
250      /**
251       * The name of the monitor attribute that is used to hold the backend entry
252       * count.
253       */
254      public static final String ATTR_MONITOR_BACKEND_ENTRY_COUNT =
255           "ds-backend-entry-count";
256    
257    
258      /**
259       * The name of the monitor attribute that is used to hold the base DN entry
260       * count.
261       */
262      public static final String ATTR_MONITOR_BASE_DN_ENTRY_COUNT =
263           "ds-base-dn-entry-count";
264    
265      /**
266       * The name of the monitor attribute that is used to hold the backend
267       * writability mode.
268       */
269      public static final String ATTR_MONITOR_BACKEND_WRITABILITY_MODE =
270           "ds-backend-writability-mode";
271    
272    
273    
274      /**
275       * The name of the monitor attribute that is used to hold the connection
276       * handler connections.
277       */
278      public static final String ATTR_MONITOR_CONNHANDLER_CONNECTION =
279           "ds-connectionhandler-connection";
280    
281    
282    
283      /**
284       * The name of the monitor attribute that is used to hold the connection
285       * handler listeners.
286       */
287      public static final String ATTR_MONITOR_CONNHANDLER_LISTENER =
288           "ds-connectionhandler-listener";
289    
290    
291    
292      /**
293       * The name of the monitor attribute that is used to hold the connection
294       * handler number of established connections.
295       */
296      public static final String ATTR_MONITOR_CONNHANDLER_NUMCONNECTIONS =
297           "ds-connectionhandler-num-connections";
298    
299    
300    
301      /**
302       * The name of the monitor attribute that is used to hold the connection
303       * handler protocol.
304       */
305      public static final String ATTR_MONITOR_CONNHANDLER_PROTOCOL =
306           "ds-connectionhandler-protocol";
307    
308    
309    
310      /**
311       * The name of the standard attribute that is used to specify the set of
312       * public naming contexts (suffixes) for the Directory Server, formatted in
313       * camel case.
314       */
315      public static final String ATTR_NAMING_CONTEXTS = "namingContexts";
316    
317    
318    
319      /**
320       * The name of the standard attribute that is used to specify the set of
321       * public naming contexts (suffixes) for the Directory Server, formatted in
322       * all lowercase.
323       */
324      public static final String ATTR_NAMING_CONTEXTS_LC = "namingcontexts";
325    
326    
327    
328      /**
329       * The name of the attribute used to hold the DNs that constitute the set of
330       * "private" naming contexts registered with the server.
331       */
332      public static final String ATTR_PRIVATE_NAMING_CONTEXTS =
333           "ds-private-naming-contexts";
334    
335    
336    
337      /**
338       * The name of the standard attribute that is used to hold organization names,
339       * formatted in all lowercase.
340       */
341      public static final String ATTR_O = "o";
342    
343    
344    
345      /**
346       * The name of the standard attribute that is used to hold organizational unit
347       * names, formatted in all lowercase.
348       */
349      public static final String ATTR_OU = "ou";
350    
351    
352    
353      /**
354       * The name of the standard attribute that is used to specify the name of the
355       * Directory Server product, formatted in camel case.
356       */
357      public static final String ATTR_PRODUCT_NAME = "productName";
358    
359    
360    
361      /**
362       * The name of the standard attribute that is used to specify the name of the
363       * Directory Server product, formatted in all lowercase.
364       */
365      public static final String ATTR_PRODUCT_NAME_LC = "productname";
366    
367    
368    
369      /**
370       * The name of the standard attribute that is used to specify the set of
371       * referral URLs in a smart referral entry, formatted in all lowercase.
372       */
373      public static final String ATTR_REFERRAL_URL = "ref";
374    
375    
376    
377      /**
378       * The name of the standard attribute that is used to hold surnames, formatted
379       * in all lowercase.
380       */
381      public static final String ATTR_SN = "sn";
382    
383    
384    
385      /**
386       * The name of the standard attribute that is used to specify the location
387       * for the Directory Server schema, formatted in camel case.
388       */
389      public static final String ATTR_SUBSCHEMA_SUBENTRY = "subschemaSubentry";
390    
391    
392    
393      /**
394       * The name of the standard attribute that is used to specify the location
395       * for the Directory Server schema, formatted in all lowercase.
396       */
397      public static final String ATTR_SUBSCHEMA_SUBENTRY_LC = "subschemasubentry";
398    
399    
400    
401      /**
402       * The name of the standard attribute that is used to specify the names of the
403       * authentication password schemes supported by the server, formatted in
404       * camel case.
405       */
406      public static final String ATTR_SUPPORTED_AUTH_PW_SCHEMES =
407           "supportedAuthPasswordSchemes";
408    
409    
410    
411      /**
412       * The name of the standard attribute that is used to specify the names of the
413       * authentication password schemes supported by the server, formatted in all
414       * lowercase.
415       */
416      public static final String ATTR_SUPPORTED_AUTH_PW_SCHEMES_LC =
417           "supportedauthpasswordschemes";
418    
419    
420    
421      /**
422       * The name of the standard attribute that is used to specify the OIDs of the
423       * controls supported by the server, formatted in camel case.
424       */
425      public static final String ATTR_SUPPORTED_CONTROL = "supportedControl";
426    
427    
428    
429      /**
430       * The name of the standard attribute that is used to specify the OIDs of the
431       * controls supported by the server, formatted in all lowercase.
432       */
433      public static final String ATTR_SUPPORTED_CONTROL_LC = "supportedcontrol";
434    
435    
436    
437      /**
438       * The name of the standard attribute that is used to specify the OIDs of the
439       * extended operations supported by the server, formatted in camel case.
440       */
441      public static final String ATTR_SUPPORTED_EXTENSION = "supportedExtension";
442    
443    
444    
445      /**
446       * The name of the standard attribute that is used to specify the OIDs of the
447       * extended operations supported by the server, formatted in all lowercase.
448       */
449      public static final String ATTR_SUPPORTED_EXTENSION_LC = "supportedextension";
450    
451    
452    
453      /**
454       * The name of the standard attribute that is used to specify the OIDs of the
455       * features supported by the server, formatted in camel case.
456       */
457      public static final String ATTR_SUPPORTED_FEATURE = "supportedFeatures";
458    
459    
460    
461      /**
462       * The name of the standard attribute that is used to specify the OIDs of the
463       * features supported by the server, formatted in all lowercase.
464       */
465      public static final String ATTR_SUPPORTED_FEATURE_LC = "supportedfeatures";
466    
467    
468    
469      /**
470       * The name of the standard attribute that is used to specify the names of the
471       * LDAP protocol versions supported by the server, formatted in camel case.
472       */
473      public static final String ATTR_SUPPORTED_LDAP_VERSION =
474           "supportedLDAPVersion";
475    
476    
477    
478      /**
479       * The name of the standard attribute that is used to specify the names of the
480       * LDAP protocol versions supported by the server, formatted in all lowercase.
481       */
482      public static final String ATTR_SUPPORTED_LDAP_VERSION_LC =
483           "supportedldapversion";
484    
485    
486    
487      /**
488       * The name of the standard attribute that is used to specify the names of the
489       * SASL mechanisms supported by the server, formatted in camel case.
490       */
491      public static final String ATTR_SUPPORTED_SASL_MECHANISMS =
492           "supportedSASLMechanisms";
493    
494    
495    
496      /**
497       * The name of the standard attribute that is used to specify the names of the
498       * SASL mechanisms supported by the server, formatted in all lowercase.
499       */
500      public static final String ATTR_SUPPORTED_SASL_MECHANISMS_LC =
501           "supportedsaslmechanisms";
502    
503    
504    
505      /**
506       * The name of the attribute that is used to specify the time that the
507       * Directory Server started, formatted in camel case.
508       */
509      public static final String ATTR_START_TIME = "startTime";
510    
511    
512    
513      /**
514       * The name of the attribute that is used to specify the time that the
515       * Directory Server started, formatted in all lowercase.
516       */
517      public static final String ATTR_START_TIME_LC = "starttime";
518    
519    
520    
521      /**
522       * The name of the attribute that is used to specify the DN of the target
523       * group for a virtual static group.
524       */
525      public static final String ATTR_TARGET_GROUP_DN = "ds-target-group-dn";
526    
527    
528    
529      /**
530       * The name of the attribute that is used to specify the connection ID of the
531       * connection to disconnect.
532       */
533      public static final String ATTR_TASK_DISCONNECT_CONN_ID =
534           "ds-task-disconnect-connection-id";
535    
536    
537    
538      /**
539       * The name of the attribute that is used to specify the disconnect message.
540       */
541      public static final String ATTR_TASK_DISCONNECT_MESSAGE =
542           "ds-task-disconnect-message";
543    
544    
545    
546      /**
547       * The name of the attribute that is used to indicate whether to notify the
548       * connection it is about to be terminated.
549       */
550      public static final String ATTR_TASK_DISCONNECT_NOTIFY_CLIENT =
551           "ds-task-disconnect-notify-client";
552    
553    
554    
555      /**
556       * The name of the attribute that is used to specify the total number of
557       * connections established since startup, formatted in camel case.
558       */
559      public static final String ATTR_TOTAL_CONNS = "totalConnections";
560    
561    
562    
563      /**
564       * The name of the attribute that is used to specify the total number of
565       * connections established since startup, formatted in all lowercase.
566       */
567      public static final String ATTR_TOTAL_CONNS_LC = "totalconnections";
568    
569    
570    
571      /**
572       * The name of the standard "uniqueMember" attribute type, formatted in
573       * camelCase.
574       */
575      public static final String ATTR_UNIQUE_MEMBER = "uniqueMember";
576    
577    
578    
579      /**
580       * The name of the standard "uniqueMember" attribute type, formatted in all
581       * lowercase characters.
582       */
583      public static final String ATTR_UNIQUE_MEMBER_LC = "uniquemember";
584    
585    
586    
587      /**
588       * The name of the attribute that is used to specify the length of time that
589       * the server has been online, formatted in camel case.
590       */
591      public static final String ATTR_UP_TIME = "upTime";
592    
593    
594    
595      /**
596       * The name of the attribute that is used to specify the length of time that
597       * the server has been online, formatted in all lowercase.
598       */
599      public static final String ATTR_UP_TIME_LC = "uptime";
600    
601    
602    
603      /**
604       * The name of the standard attribute that is used to specify the password for
605       * a user, formatted in all lowercase.
606       */
607      public static final String ATTR_USER_PASSWORD = "userpassword";
608    
609    
610    
611      /**
612       * The name of the standard attribute that is used to specify vendor name for
613       * the Directory Server, formatted in camel case.
614       */
615      public static final String ATTR_VENDOR_NAME = "vendorName";
616    
617    
618    
619      /**
620       * The name of the standard attribute that is used to specify vendor name for
621       * the Directory Server, formatted in all lowercase.
622       */
623      public static final String ATTR_VENDOR_NAME_LC = "vendorname";
624    
625    
626    
627      /**
628       * The name of the standard attribute that is used to specify vendor version
629       * for the Directory Server, formatted in camel case.
630       */
631      public static final String ATTR_VENDOR_VERSION = "vendorVersion";
632    
633    
634    
635      /**
636       * The name of the standard attribute that is used to specify vendor version
637       * for the Directory Server, formatted in all lowercase.
638       */
639      public static final String ATTR_VENDOR_VERSION_LC = "vendorversion";
640    
641    
642    
643      /**
644       * The name of the standard objectclass that is used to indicate that an entry
645       * is an alias, formatted in all lowercase.
646       */
647      public static final String OC_ALIAS = "alias";
648    
649    
650    
651      /**
652       * The name of the standard objectclass, formatted in all lowercase, that is
653       * used to indicate that an entry describes a country.
654       */
655      public static final String OC_COUNTRY = "country";
656    
657    
658    
659      /**
660       * The name of the standard objectclass, formatted in all lowercase, that is
661       * used to indicate that an entry describes a domain.
662       */
663      public static final String OC_DOMAIN = "domain";
664    
665    
666      /**
667       * The name of the standard objectclass that is used to allow any attribute
668       * type to be present in an entry, formatted in camel case.
669       */
670      public static final String OC_EXTENSIBLE_OBJECT = "extensibleObject";
671    
672    
673      /**
674       * The name of the standard objectclass that is used to allow any attribute
675       * type to be present in an entry, formatted in all lowercase characters.
676       */
677      public static final String OC_EXTENSIBLE_OBJECT_LC = "extensibleobject";
678    
679    
680    
681      /**
682       * The name of the standard "groupOfEntries" object class, formatted in
683       * camelCase.
684       */
685      public static final String OC_GROUP_OF_ENTRIES = "groupOfEntries";
686    
687    
688    
689      /**
690       * The name of the standard "groupOfEntries" object class, formatted in all
691       * lowercase characters.
692       */
693      public static final String OC_GROUP_OF_ENTRIES_LC = "groupofentries";
694    
695    
696    
697      /**
698       * The name of the standard "groupOfNames" object class, formatted in
699       * camelCase.
700       */
701      public static final String OC_GROUP_OF_NAMES = "groupOfNames";
702    
703    
704    
705      /**
706       * The name of the standard "groupOfNames" object class, formatted in all
707       * lowercase characters.
708       */
709      public static final String OC_GROUP_OF_NAMES_LC = "groupofnames";
710    
711    
712    
713      /**
714       * The name of the standard "groupOfUniqueNames" object class, formatted in
715       * camelCase.
716       */
717      public static final String OC_GROUP_OF_UNIQUE_NAMES = "groupOfUniqueNames";
718    
719    
720    
721      /**
722       * The name of the standard "groupOfUniqueNames" object class, formatted in
723       * all lowercase characters.
724       */
725      public static final String OC_GROUP_OF_UNIQUE_NAMES_LC = "groupofuniquenames";
726    
727    
728    
729      /**
730       * The name of the standard "groupOfURLs" object class, formatted in camel
731       * case.
732       */
733      public static final String OC_GROUP_OF_URLS = "groupOfURLs";
734    
735    
736    
737      /**
738       * The name of the standard "groupOfURLs" object class, formatted in all
739       * lowercase characters.
740       */
741      public static final String OC_GROUP_OF_URLS_LC = "groupofurls";
742    
743    
744    
745      /**
746       * The request OID for the cancel extended operation.
747       */
748      public static final String OID_CANCEL_REQUEST = "1.3.6.1.1.8";
749    
750    
751    
752      /**
753       * The OID for the extensibleObject objectclass.
754       */
755      public static final String OID_EXTENSIBLE_OBJECT =
756           "1.3.6.1.4.1.1466.101.120.111";
757    
758    
759    
760      /**
761       * The OID for the extended operation that can be used to get the client
762       * connection ID.  It will be both the request and response OID.
763       */
764      public static final String OID_GET_CONNECTION_ID_EXTOP =
765           "1.3.6.1.4.1.26027.1.6.2";
766    
767    
768    
769      /**
770       * The request OID for the password modify extended operation.
771       */
772      public static final String OID_PASSWORD_MODIFY_REQUEST =
773           "1.3.6.1.4.1.4203.1.11.1";
774    
775    
776    
777      /**
778       * The OID for the password policy state extended operation (both the request
779       * and response types).
780       */
781      public static final String OID_PASSWORD_POLICY_STATE_EXTOP =
782           "1.3.6.1.4.1.26027.1.6.1";
783    
784    
785    
786      /**
787       * The request OID for the StartTLS extended operation.
788       */
789      public static final String OID_START_TLS_REQUEST = "1.3.6.1.4.1.1466.20037";
790    
791    
792    
793      /**
794       * The request OID for the "Who Am I?" extended operation.
795       */
796      public static final String OID_WHO_AM_I_REQUEST =
797           "1.3.6.1.4.1.4203.1.11.3";
798    
799    
800    
801      /**
802       * The request OID for the get symmetric key extended operation.
803       */
804      public static final String OID_GET_SYMMETRIC_KEY_EXTENDED_OP =
805           "1.3.6.1.4.1.26027.1.6.3";
806    
807    
808    
809      /**
810       * The name of the standard "ldapSubentry" objectclass (which is a special
811       * type of objectclass that makes a kind of "operational" entry), formatted
812       * in camel case.
813       */
814      public static final String OC_LDAP_SUBENTRY = "ldapSubentry";
815    
816    
817    
818      /**
819       * The name of the standard "ldapSubentry" objectclass (which is a special
820       * type of objectclass that makes a kind of "operational" entry), formatted
821       * in all lowercase.
822       */
823      public static final String OC_LDAP_SUBENTRY_LC = "ldapsubentry";
824    
825    
826    
827      /**
828       * The name of the custom objectclass that will be included in backend monitor
829       * entries.
830       */
831      public static final String OC_MONITOR_BACKEND = "ds-backend-monitor-entry";
832    
833    
834    
835      /**
836       * The name of the custom objectclass that will be included in connection
837       * handler monitor entries.
838       */
839      public static final String OC_MONITOR_CONNHANDLER =
840           "ds-connectionhandler-monitor-entry";
841    
842    
843    
844      /**
845       * The name of the objectclass that will be used as the structural class for
846       * monitor entries.
847       */
848      public static final String OC_MONITOR_ENTRY = "ds-monitor-entry";
849    
850    
851    
852      /**
853       * The name of the standard objectclass, formatted in all lowercase, that is
854       * used to indicate that an entry describes an organization.
855       */
856      public static final String OC_ORGANIZATION = "organization";
857    
858    
859    
860      /**
861       * The name of the standard objectclass that is  used to indicate that an
862       * entry describes an organizational unit.
863       */
864      public static final String OC_ORGANIZATIONAL_UNIT = "organizationalUnit";
865    
866    
867    
868      /**
869       * The name of the organizationalUnit objectclass formatted in all lowercase
870       * characters.
871       */
872      public static final String OC_ORGANIZATIONAL_UNIT_LC = "organizationalunit";
873    
874    
875    
876      /**
877       * The name of the person objectclass, formatted in all lowercase characters.
878       */
879      public static final String OC_PERSON = "person";
880    
881    
882    
883      /**
884       * The name of the standard objectclass that is used to indicate that an entry
885       * is a smart referral, formatted in all lowercase.
886       */
887      public static final String OC_REFERRAL = "referral";
888    
889    
890    
891      /**
892       * The name of the structural objectclass that will be used for the Directory
893       * Server root DSE entry.
894       */
895      public static final String OC_ROOT_DSE = "ds-root-dse";
896    
897    
898    
899      /**
900       * The name of the standard "subschema" objectclass (which is used in entries
901       * that publish schema information), formatted in all lowercase.
902       */
903      public static final String OC_SUBSCHEMA = "subschema";
904    
905    
906    
907    
908      /**
909       * The name of the standard "top" objectclass, which is the superclass for
910       * virtually all other objectclasses, formatted in all lowercase.
911       */
912      public static final String OC_TOP= "top";
913    
914    
915    
916      /**
917       * The name of the objectclass that can be used for generic entries for which
918       * we don't have any other type of objectclass that is more appropriate.
919       */
920      public static final String OC_UNTYPED_OBJECT = "untypedObject";
921    
922    
923    
924      /**
925       * The name of the untypedObject objectclass in all lowercase characters.
926       */
927      public static final String OC_UNTYPED_OBJECT_LC = "untypedobject";
928    
929    
930    
931      /**
932       * The name of the ds-virtual-static-group objectclass in all lowercase
933       * characters.
934       */
935      public static final String OC_VIRTUAL_STATIC_GROUP =
936           "ds-virtual-static-group";
937    
938    
939    
940      /**
941       * The English name for the basic disabled log severity used for all
942       * log severities.
943       */
944      public static final String LOG_SEVERITY_DISABLED = "disabled";
945    
946    
947    
948      /**
949       * The English name for the basic all log severity used for all log
950       * severities.
951       */
952      public static final String LOG_SEVERITY_ALL = "all";
953    
954      /**
955       * The English name for the basic none log severity used to log
956       * no error message beside some specific category.
957       */
958      public static final String LOG_SEVERITY_NONE = "none";
959    
960    
961    
962    
963      /**
964       * The English name for the debug log category used for access control
965       * debugging.
966       */
967      public static final String DEBUG_CATEGORY_MESSAGE = "message";
968    
969    
970    
971      /**
972       * The English name for the debug log category used for constructor debugging.
973       */
974      public static final String DEBUG_CATEGORY_CONSTRUCTOR = "constructor";
975    
976    
977    
978      /**
979       * The English name for the debug log category used for debugging raw data
980       * read.
981       */
982      public static final String DEBUG_CATEGORY_DATA = "data";
983    
984    
985    
986      /**
987       * The English name for the debug log category used for exception debugging.
988       */
989      public static final String DEBUG_CATEGORY_THROWN = "thrown";
990    
991    
992    
993      /**
994       * The English name for the debug log category used for exception debugging.
995       */
996      public static final String DEBUG_CATEGORY_CAUGHT = "caught";
997    
998    
999    
1000      /**
1001       * The English name for the debug log category used for method entry
1002       * debugging.
1003       */
1004      public static final String DEBUG_CATEGORY_ENTER = "enter";
1005    
1006    
1007    
1008      /**
1009       * The English name for the debug log category used for method exit
1010       * debugging.
1011       */
1012      public static final String DEBUG_CATEGORY_EXIT = "exit";
1013    
1014    
1015    
1016      /**
1017       * The English name for the debug log category used for debugging protocol
1018       * elements.
1019       */
1020      public static final String DEBUG_CATEGORY_PROTOCOL = "protocol";
1021    
1022    
1023    
1024      /**
1025       * The English name for the debug log category used for raw data access
1026       * from the JE database.
1027       */
1028      public static final String DEBUG_CATEGORY_DATABASE_ACCESS = "database-access";
1029    
1030    
1031    
1032      /**
1033       * The English name for the debug log severity used for verbose messages.
1034       */
1035      public static final String DEBUG_SEVERITY_VERBOSE = "verbose";
1036    
1037    
1038    
1039      /**
1040       * The English name for the debug log severity used for informational
1041       * messages.
1042       */
1043      public static final String DEBUG_SEVERITY_INFO = "info";
1044    
1045    
1046    
1047      /**
1048       * The English name for the debug log severity used for warning messages.
1049       */
1050      public static final String DEBUG_SEVERITY_WARNING = "warning";
1051    
1052    
1053    
1054      /**
1055       * The English name for the debug log severity used for error messages.
1056       */
1057      public static final String DEBUG_SEVERITY_ERROR = "error";
1058    
1059    
1060    
1061      /**
1062       * The English name for the error log category used for access control
1063       * processing.
1064       */
1065      public static final String ERROR_CATEGORY_ACCESS_CONTROL = "access-control";
1066    
1067    
1068    
1069      /**
1070       * The English name for the error log category used for backend processing.
1071       */
1072      public static final String ERROR_CATEGORY_BACKEND = "backend";
1073    
1074    
1075    
1076      /**
1077       * The English name for the error log category used for configuration
1078       * processing.
1079       */
1080      public static final String ERROR_CATEGORY_CONFIG = "config";
1081    
1082    
1083    
1084      /**
1085       * The English name for the error log category used for client connection
1086       * handling.
1087       */
1088      public static final String ERROR_CATEGORY_CONNECTION_HANDLING = "connection";
1089    
1090    
1091    
1092      /**
1093       * The English name for the error log category used for core server
1094       * processing.
1095       */
1096      public static final String ERROR_CATEGORY_CORE_SERVER = "core";
1097    
1098    
1099      /**
1100       * The English name for the error log category used for extended operation
1101       * processing.
1102       */
1103      public static final String ERROR_CATEGORY_EXTENDED_OPERATION = "extended-op";
1104    
1105    
1106    
1107      /**
1108       * The English name for the error log category used for server extension
1109       * processing.
1110       */
1111      public static final String ERROR_CATEGORY_EXTENSIONS = "extensions";
1112    
1113    
1114    
1115      /**
1116       * The English name for the error log category used for password policy
1117       * processing.
1118       */
1119      public static final String ERROR_CATEGORY_PASSWORD_POLICY = "pw-policy";
1120    
1121    
1122    
1123      /**
1124       * The English name for the error log category used for plugin processing.
1125       */
1126      public static final String ERROR_CATEGORY_PLUGIN = "plugin";
1127    
1128    
1129    
1130      /**
1131       * The English name for the error log category used for request handling.
1132       */
1133      public static final String ERROR_CATEGORY_REQUEST = "request";
1134    
1135    
1136    
1137      /**
1138       * The English name for the error log category used for SASL processing.
1139       */
1140      public static final String ERROR_CATEGORY_SASL_MECHANISM = "sasl";
1141    
1142    
1143    
1144      /**
1145       * The English name for the error log category used for schema processing.
1146       */
1147      public static final String ERROR_CATEGORY_SCHEMA = "schema";
1148    
1149    
1150    
1151      /**
1152       * The English name for the error log category used for shutdown processing.
1153       */
1154      public static final String ERROR_CATEGORY_SHUTDOWN = "shutdown";
1155    
1156    
1157    
1158      /**
1159       * The English name for the error log category used for startup processing.
1160       */
1161      public static final String ERROR_CATEGORY_STARTUP = "startup";
1162    
1163    
1164    
1165      /**
1166       * The English name for the error log category used for synchronization
1167       * processing.
1168       */
1169      public static final String ERROR_CATEGORY_SYNCHRONIZATION = "sync";
1170    
1171    
1172    
1173      /**
1174       * The English name for the error log category used for task processing.
1175       */
1176      public static final String ERROR_CATEGORY_TASK = "task";
1177    
1178    
1179    
1180      /**
1181       * The English name for the error log severity used for fatal error messages.
1182       */
1183      public static final String ERROR_SEVERITY_FATAL = "fatal-error";
1184    
1185    
1186    
1187      /**
1188       * The English name for the error log severity used for informational
1189       * messages.
1190       */
1191      public static final String ERROR_SEVERITY_INFORMATIONAL = "info";
1192    
1193    
1194    
1195      /**
1196       * The English name for the error log severity used for mild error messages.
1197       */
1198      public static final String ERROR_SEVERITY_MILD_ERROR = "mild-error";
1199    
1200    
1201    
1202      /**
1203       * The English name for the error log severity used for mild warning messages.
1204       */
1205      public static final String ERROR_SEVERITY_MILD_WARNING = "mild-warning";
1206    
1207    
1208    
1209      /**
1210       * The English name for the error log severity used for important
1211       * informational messages.
1212       */
1213      public static final String ERROR_SEVERITY_NOTICE = "notice";
1214    
1215    
1216    
1217      /**
1218       * The English name for the error log severity used for severe error messages.
1219       */
1220      public static final String ERROR_SEVERITY_SEVERE_ERROR = "severe-error";
1221    
1222    
1223    
1224      /**
1225       * The English name for the error log severity used for severe warning
1226       * messages.
1227       */
1228      public static final String ERROR_SEVERITY_SEVERE_WARNING = "severe-warning";
1229    
1230    
1231    
1232      /**
1233       * The domain that will be used for JMX MBeans defined within the Directory
1234       * Server.
1235       */
1236      public static final String MBEAN_BASE_DOMAIN = "org.opends.server";
1237    
1238    
1239    
1240      /**
1241       * The description for the alert type that will be used for the alert
1242       * notification generated if the access control handler is disabled.
1243       */
1244      public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_DISABLED =
1245           "This alert type will be used to notify administrators that the " +
1246           "access control handler has been disabled.";
1247    
1248    
1249    
1250      /**
1251       * The alert type string that will be used for the alert notification
1252       * generated if the access control handler is disabled.
1253       */
1254      public static final String ALERT_TYPE_ACCESS_CONTROL_DISABLED =
1255           "org.opends.server.AccessControlDisabled";
1256    
1257    
1258    
1259      /**
1260       * The description for the alert type that will be used for the alert
1261       * notification generated if the access control handler is enabled.
1262       */
1263      public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_ENABLED =
1264           "This alert type will be used to notify administrators that the " +
1265           "access control handler has been enabled.";
1266    
1267    
1268    
1269      /**
1270       * The alert type string that will be used for the alert notification
1271       * generated if the access control handler is enabled.
1272       */
1273      public static final String ALERT_TYPE_ACCESS_CONTROL_ENABLED =
1274           "org.opends.server.AccessControlEnabled";
1275    
1276    
1277    
1278      /**
1279       * The description for the alert type that will be used for the alert
1280       * notification generated if a recurring task cannot be found to schedule the
1281       * next iteration after the previous iteration has completed.
1282       */
1283      public static final String ALERT_DESCRIPTION_CANNOT_FIND_RECURRING_TASK =
1284          "This alert type will be used to notify administrators if the " +
1285          "Directory Server is unable to locate a recurring task definition in " +
1286          "order to schedule the next iteration once the previous iteration has " +
1287          "completed.";
1288    
1289    
1290    
1291      /**
1292       * The alert type string that will be used for the alert notification
1293       * generated if a recurring task cannot be found to schedule the next
1294       * iteration after the previous iteration has completed.
1295       */
1296      public static final String ALERT_TYPE_CANNOT_FIND_RECURRING_TASK =
1297           "org.opends.server.CannotFindRecurringTask";
1298    
1299    
1300    
1301      /**
1302       * The description for the alert type that will be used for the alert
1303       * notification generated if an error occurs while attempting to rename the
1304       * current tasks backing file.
1305       */
1306      public static final String ALERT_DESCRIPTION_CANNOT_RENAME_CURRENT_TASK_FILE =
1307               "This alert type will be used to notify administrators if the " +
1308               "Directory Server is unable to rename the current tasks backing " +
1309               "file in the process of trying to write an updated version.";
1310    
1311    
1312    
1313      /**
1314       * The alert type string that will be used for the alert notification
1315       * generated if an error occurs while attempting to rename the current tasks
1316       * backing file.
1317       */
1318      public static final String ALERT_TYPE_CANNOT_RENAME_CURRENT_TASK_FILE =
1319           "org.opends.server.CannotRenameCurrentTaskFile";
1320    
1321    
1322    
1323      /**
1324       * The description for the alert type that will be used for the alert
1325       * notification generated if an error occurs while attempting to rename the
1326       * new tasks backing file.
1327       */
1328      public static final String ALERT_DESCRIPTION_CANNOT_RENAME_NEW_TASK_FILE =
1329               "This alert type will be used to notify administrators if the " +
1330               "Directory Server is unable to rename the new tasks backing " +
1331               "file into place.";
1332    
1333    
1334    
1335      /**
1336       * The alert type string that will be used for the alert notification
1337       * generated if an error occurs while attempting to rename the new tasks
1338       * backing file.
1339       */
1340      public static final String ALERT_TYPE_CANNOT_RENAME_NEW_TASK_FILE =
1341           "org.opends.server.CannotRenameNewTaskFile";
1342    
1343    
1344    
1345      /**
1346       * The description for the alert type that will be used for the alert
1347       * notification generated if an error occurs while attempting to schedule an
1348       * iteration of a recurring task.
1349       */
1350      public static final String
1351           ALERT_DESCRIPTION_CANNOT_SCHEDULE_RECURRING_ITERATION =
1352               "This alert type will be used to notify administrators if the " +
1353               "Directory Server is unable to schedule an iteration of a " +
1354               "recurring task.";
1355    
1356    
1357    
1358      /**
1359       * The alert type string that will be used for the alert notification
1360       * generated if an error occurs while attempting to schedule an iteration of a
1361       * recurring task.
1362       */
1363      public static final String ALERT_TYPE_CANNOT_SCHEDULE_RECURRING_ITERATION =
1364           "org.opends.server.CannotScheduleRecurringIteration";
1365    
1366    
1367    
1368      /**
1369       * The description for the alert type that will be used for the alert
1370       * notification generated if a problem occurs while attempting to write the
1371       * Directory Server configuration to disk.
1372       */
1373      public static final String ALERT_DESCRIPTION_CANNOT_WRITE_CONFIGURATION =
1374          "This alert type will be used to notify administrators if the " +
1375          "Directory Server is unable to write its updated configuration for " +
1376          "some reason and therefore the server may not exhibit the new " +
1377          "configuration if it is restarted.";
1378    
1379    
1380    
1381      /**
1382       * The alert type string that will be used for the alert notification
1383       * generated if a problem occurs while attempting to write the Directory
1384       * Server configuration to disk.
1385       */
1386      public static final String ALERT_TYPE_CANNOT_WRITE_CONFIGURATION =
1387           "org.opends.server.CannotWriteConfig";
1388    
1389    
1390    
1391      /**
1392       * The description for the alert type that will be used for the alert
1393       * notification generated upon entering lockdown mode.
1394       */
1395      public static final String ALERT_DESCRIPTION_ENTERING_LOCKDOWN_MODE =
1396           "This alert type will be used to notify administrators that the " +
1397           "Directory Server is entering lockdown mode, in which only root " +
1398           "users will be allowed to perform operations and only over the " +
1399           "loopback address.";
1400    
1401    
1402    
1403      /**
1404       * The alert type that will be used when the Directory Server enters lockdown
1405       * mode.
1406       */
1407      public static final String ALERT_TYPE_ENTERING_LOCKDOWN_MODE =
1408           "org.opends.server.EnteringLockdownMode";
1409    
1410    
1411    
1412      /**
1413       * The description for the alert type that will be used for the alert
1414       * notification generated upon leaving lockdown mode.
1415       */
1416      public static final String ALERT_DESCRIPTION_LEAVING_LOCKDOWN_MODE =
1417           "This alert type will be used to notify administrators that the " +
1418           "Directory Server is leaving lockdown mode.";
1419    
1420    
1421    
1422      /**
1423       * The alert type that will be used when the Directory Server leaves lockdown
1424       * mode.
1425       */
1426      public static final String ALERT_TYPE_LEAVING_LOCKDOWN_MODE =
1427           "org.opends.server.LeavingLockdownMode";
1428    
1429    
1430    
1431      /**
1432       * The description for the alert type that will be used for the alert
1433       * notification generated if the server detects that the configuration has
1434       * been manually edited with the server online and those edits would have been
1435       * lost by an online config change.
1436       */
1437      public static final String ALERT_DESCRIPTION_MANUAL_CONFIG_EDIT_HANDLED =
1438          "This alert type will be used to notify administrators if the " +
1439          "Directory Server detects that its configuration has been manually " +
1440          "edited with the server online and those changes were overwritten by " +
1441          "another change made through the server.  The manually-edited " +
1442          "configuration will be copied off to another location.";
1443    
1444    
1445    
1446      /**
1447       * The alert type string that will be used for the alert notification
1448       * generated if a problem occurs while attempting to write the Directory
1449       * Server configuration to disk.
1450       */
1451      public static final String ALERT_TYPE_MANUAL_CONFIG_EDIT_HANDLED =
1452           "org.opends.server.ManualConfigEditHandled";
1453    
1454    
1455    
1456      /**
1457       * The description for the alert type that will be used for the alert
1458       * notification generated if the server detects that the configuration has
1459       * been manually edited with the server online, but a problem occurred while
1460       * trying to preserve the manual changes that may have caused them to be lost.
1461       */
1462      public static final String ALERT_DESCRIPTION_MANUAL_CONFIG_EDIT_LOST =
1463          "This alert type will be used to notify administrators if the " +
1464          "Directory Server detects that its configuration has been manually " +
1465          "edited with the server online and those changes were overwritten by " +
1466          "another change made through the server.  The manually-edited " +
1467          "configuration could not be preserved due to an unexpected error.";
1468    
1469    
1470    
1471      /**
1472       * The alert type string that will be used for the alert notification
1473       * generated if a problem occurs while attempting to write the Directory
1474       * Server configuration to disk.
1475       */
1476      public static final String ALERT_TYPE_MANUAL_CONFIG_EDIT_LOST =
1477           "org.opends.server.ManualConfigEditLost";
1478    
1479    
1480    
1481      /**
1482       * The description for the alert type that will be used for the alert
1483       * notification generated if an error occurs while attempting to write the
1484       * tasks backing file.
1485       */
1486      public static final String ALERT_DESCRIPTION_CANNOT_WRITE_TASK_FILE =
1487               "This alert type will be used to notify administrators if the " +
1488               "Directory Server is unable to write an updated tasks backing " +
1489               "file for some reason.";
1490    
1491    
1492    
1493      /**
1494       * The alert type string that will be used for the alert notification
1495       * generated if an error occurs while attempting to write the tasks backing
1496       * file.
1497       */
1498      public static final String ALERT_TYPE_CANNOT_WRITE_TASK_FILE =
1499           "org.opends.server.CannotWriteTaskFile";
1500    
1501    
1502    
1503      /**
1504       * The description for the alert type that will be used for the alert
1505       * notification generated if consecutive failures in the LDAP connection
1506       * handler have caused it to become disabled.
1507       */
1508      public static final String
1509           ALERT_DESCRIPTION_LDAP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1510                "This alert type will be used to notify administrators of " +
1511                "consecutive failures that have occurred in the LDAP connection " +
1512                "handler that have caused it to become disabled.";
1513    
1514    
1515    
1516      /**
1517       * The alert type string that will be used for the alert notification
1518       * generated if consecutive failures in the LDAP connection handler have
1519       * caused it to become disabled.
1520       */
1521      public static final String
1522           ALERT_TYPE_LDAP_CONNECTION_HANDLER_CONSECUTIVE_FAILURES =
1523                "org.opends.server.LDAPHandlerDisabledByConsecutiveFailures";
1524    
1525    
1526    
1527      /**
1528       * The description for the alert type that will be used for the alert
1529       * notification generated if the LDAP connection handler encountered an
1530       * unexpected error that has caused it to become disabled.
1531       */
1532      public static final String
1533           ALERT_DESCRIPTION_LDAP_CONNECTION_HANDLER_UNCAUGHT_ERROR =
1534                "This alert type will be used to notify administrators of " +
1535                "uncaught errors in the LDAP connection handler that have caused " +
1536                "it to become disabled.";
1537    
1538    
1539    
1540      /**
1541       * The alert type string that will be used for the alert notification
1542       * generated if the LDAP connection handler encountered an unexpected error
1543       * that has caused it to become disabled.
1544       */
1545      public static final String
1546           ALERT_TYPE_LDAP_CONNECTION_HANDLER_UNCAUGHT_ERROR =
1547                "org.opends.server.LDAPHandlerUncaughtError";
1548    
1549    
1550    
1551      /**
1552       * The description for the alert type that will be used for the alert
1553       * notification generated when the Directory Server has completed its startup
1554       * process.
1555       */
1556      public static final String ALERT_DESCRIPTION_SERVER_STARTED =
1557          "This alert type will be used to provide notification that the " +
1558          "Directory Server has completed its startup process.";
1559    
1560    
1561    
1562      /**
1563       * The alert type string that will be used for the alert notification
1564       * generated when the Directory Server has completed its startup process.
1565       */
1566      public static final String ALERT_TYPE_SERVER_STARTED =
1567           "org.opends.server.DirectoryServerStarted";
1568    
1569    
1570    
1571      /**
1572       * The description for the alert type that will be used for the alert
1573       * notification generated when the Directory Server has started the shutdown
1574       * process.
1575       */
1576      public static final String ALERT_DESCRIPTION_SERVER_SHUTDOWN =
1577          "This alert type will be used to provide notification that the " +
1578          "Directory Server has begun the process of shutting down.";
1579    
1580    
1581    
1582      /**
1583       * The alert type string that will be used for the alert notification
1584       * generated when the Directory Server has started the shutdown process.
1585       */
1586      public static final String ALERT_TYPE_SERVER_SHUTDOWN =
1587           "org.opends.server.DirectoryServerShutdown";
1588    
1589    
1590    
1591      /**
1592       * The description for the alert type that will be used for the alert
1593       * notification generated by a thread that has died because of an uncaught
1594       * exception.
1595       */
1596      public static final String ALERT_DESCRIPTION_UNCAUGHT_EXCEPTION =
1597           "This alert type will be used if a Directory Server thread has " +
1598           "encountered an uncaught exception that caused that thread to " +
1599           "terminate abnormally.  The impact that this problem has on the " +
1600           "server depends on which thread was impacted and the nature of the " +
1601           "exception.";
1602    
1603    
1604    
1605      /**
1606       * The alert type string that will be used for the alert notification
1607       * generated by a thread that has died because of an uncaught exception.
1608       */
1609      public static final String ALERT_TYPE_UNCAUGHT_EXCEPTION =
1610           "org.opends.server.UncaughtException";
1611    
1612    
1613    
1614      /**
1615       * The description for the alert type that will be used for the alert
1616       * notification generated if a problem occurs while creating copies of the
1617       * existing schema configuration files and a problem occurs that leaves the
1618       * schema configuration in a potentially inconsistent state.
1619       */
1620      public static final String ALERT_DESCRIPTION_CANNOT_COPY_SCHEMA_FILES =
1621          "This alert type will be used to notify administrators if a problem " +
1622          "occurs while attempting to create copies of the existing schema " +
1623          "configuration files before making a schema update, and the schema " +
1624          "configuration is left in a potentially inconsistent state.";
1625    
1626    
1627    
1628      /**
1629       * The alert type string that will be used for the alert notification
1630       * generated if a problem occurs while creating copies of the existing schema
1631       * files in a manner that may leave the schema configuration inconsistent.
1632       */
1633      public static final String ALERT_TYPE_CANNOT_COPY_SCHEMA_FILES =
1634           "org.opends.server.CannotCopySchemaFiles";
1635    
1636    
1637    
1638      /**
1639       * The description for the alert type that will be used for the alert
1640       * notification generated if a problem occurs while writing new versions of
1641       * the server schema configuration files and a problem occurs that leaves the
1642       * schema configuration in a potentially inconsistent state.
1643       */
1644      public static final String ALERT_DESCRIPTION_CANNOT_WRITE_NEW_SCHEMA_FILES =
1645          "This alert type will be used to notify administrators if a problem " +
1646          "occurs while attempting to write new verisons of the server schema " +
1647          "configuration files, and the schema configuration is left in a " +
1648          "potentially inconsistent state.";
1649    
1650    
1651    
1652      /**
1653       * The alert type string that will be used for the alert notification
1654       * generated if a problem occurs while writing new versions of the server
1655       * schema files in a manner that may leave the schema configuration
1656       * inconsistent.
1657       */
1658      public static final String ALERT_TYPE_CANNOT_WRITE_NEW_SCHEMA_FILES =
1659           "org.opends.server.CannotWriteNewSchemaFiles";
1660    
1661    
1662    
1663      /**
1664       * The description for the alert type that will be used for the alert
1665       * notification generated if the dseecompat access control subsystem failed
1666       * to parse one or more ACI rules when the server is first started or a
1667       * backend is being initialized.
1668       */
1669      public static final String ALERT_DESCRIPTION_ACCESS_CONTROL_PARSE_FAILED =
1670              "This alert type will be used to notify administrators if the  " +
1671                 "dseecompat access control subsystem failed to correctly parse " +
1672                 "one or more ACI rules when the server is first started.";
1673    
1674    
1675    
1676      /**
1677       * The alert type string that will be used for the alert notification
1678       * generated if the dseecompat access control subsystem failed to parse
1679       * one or more ACI rules when the server is first started or a backend
1680       * is being initialized.
1681       */
1682      public static final String ALERT_TYPE_ACCESS_CONTROL_PARSE_FAILED =
1683              "org.opends.server.authentiation.dseecompat.ACIParseFailed";
1684    
1685    
1686    
1687      /**
1688       * The description for the alert type that will be used for the alert
1689       * notification generated when the JE Environment needs to be reopened
1690       * after a RunRecoveryException is thrown.
1691       */
1692      public static final String ALERT_DESCRIPTION_BACKEND_ENVIRONMENT_UNUSABLE =
1693          "This alert type will be used to provide notification that the " +
1694          "JE backend throws a RunRecoveryException and Directory Server " +
1695              "needs to be restarted.";
1696    
1697    
1698    
1699      /**
1700       * The alert type string that will be used for the alert notification
1701       * generated when the JE Environment needs to be reopened by restarting
1702       * the Directory Server.
1703       */
1704      public static final String ALERT_TYPE_BACKEND_ENVIRONMENT_UNUSABLE =
1705           "org.opends.server.BackendRunRecovery";
1706    
1707    
1708    
1709      /**
1710       * The description for the alert type that will be used for the alert
1711       * notification generated when the LDIF backend cannot write an updated LDIF
1712       * file.
1713       */
1714      public static final String
1715           ALERT_DESCRIPTION_LDIF_BACKEND_CANNOT_WRITE_UPDATE =
1716                "This alert type will be used to provide notification that an " +
1717                "LDIF backend was unable to store an updated copy of the LDIF " +
1718                "file after processing a write operation.";
1719    
1720    
1721    
1722      /**
1723       * The alert type string that will be used for the alert notification
1724       * generated when the LDIF backend cannot write an updated LDIF file.
1725       */
1726      public static final String ALERT_TYPE_LDIF_BACKEND_CANNOT_WRITE_UPDATE =
1727           "org.opends.server.LDIFBackendCannotWriteUupdate";
1728    
1729    
1730    
1731      /**
1732       * The description for the alert type that will be used for the alert
1733       * notification generated when the LDIF connection handler is unable to
1734       * process the contents of a file as valid LDIF.
1735       */
1736      public static final String ALERT_DESCRIPTION_LDIF_CONNHANDLER_PARSE_ERROR =
1737           "This alert type will be used to provide notification that the " +
1738           "LDIF connection handler encountered an unrecoverable error while " +
1739           "attempting to parse an LDIF file.";
1740    
1741    
1742    
1743      /**
1744       * The alert type string that will be used for the alert notification
1745       * generated when the LDIF connection handler is unable to process the
1746       * contents of a file as valid LDIF.
1747       */
1748      public static final String ALERT_TYPE_LDIF_CONNHANDLER_PARSE_ERROR =
1749           "org.opends.server.LDIFConnectionHandlerParseError";
1750    
1751    
1752    
1753      /**
1754       * The description for the alert type that will be used for the alert
1755       * notification generated if an I/O error occurs while attempting to
1756       * read or write LDIF content.
1757       */
1758      public static final String ALERT_DESCRIPTION_LDIF_CONNHANDLER_IO_ERROR =
1759           "This alert type will be used to provide notification that the " +
1760           "LDIF connection handler encountered an I/O error that prevented it " +
1761           "from completing its processing.";
1762    
1763    
1764    
1765      /**
1766       * The alert type string that will be used for the alert notification
1767       * generated if an I/O error occurs while attempting to  read or write LDIF
1768       * content.
1769       */
1770      public static final String ALERT_TYPE_LDIF_CONNHANDLER_IO_ERROR =
1771           "org.opends.server.LDIFConnectionHandlerIOError";
1772    
1773    
1774    
1775      /**
1776       * The description for the alert type that will be used for the alert
1777       * notification generated if a unique attribute conflict is detected during
1778       * synchronization processing.
1779       */
1780      public static final String ALERT_DESCRIPTION_UNIQUE_ATTR_SYNC_CONFLICT =
1781           "This alert type will be used to provide notification that a unique " +
1782           "attribute conflict has been detected during synchronization " +
1783           "processing.";
1784    
1785    
1786    
1787      /**
1788       * The alert type string that will be used for the alert notification
1789       * generated if a unique attribute conflict is detected during synchronization
1790       * processing.
1791       */
1792      public static final String ALERT_TYPE_UNIQUE_ATTR_SYNC_CONFLICT =
1793           "org.opends.server.UniqueAttributeSynchronizationConflict";
1794    
1795    
1796    
1797      /**
1798       * The description for the alert type that will be used for the alert
1799       * notification generated if an error occurs while attempting to perform
1800       * unique attribute conflict detection during synchronization processing.
1801       */
1802      public static final String ALERT_DESCRIPTION_UNIQUE_ATTR_SYNC_ERROR =
1803           "This alert type will be used to provide notification that an error " +
1804           "occurred while attempting to perform unique attribute conflict " +
1805           "detection during synchronization processing.";
1806    
1807    
1808    
1809      /**
1810       * The alert type string that will be used for the alert notification
1811       * generated if an error occurs while attempting to perform unique attribute
1812       * conflict detection during synchronization processing.
1813       */
1814      public static final String ALERT_TYPE_UNIQUE_ATTR_SYNC_ERROR =
1815           "org.opends.server.UniqueAttributeSynchronizationError";
1816    
1817    
1818    
1819      /**
1820       * The name of the default password storage scheme that will be used for new
1821       * passwords.
1822       */
1823      public static final String DEFAULT_PASSWORD_STORAGE_SCHEME = "SSHA";
1824    
1825    
1826    
1827      /**
1828       * The maximum depth to which nested search filters will be processed.  This
1829       * can prevent stack overflow errors from filters that look like
1830       * "(&(&(&(&(&(&(&(&(&....".
1831       */
1832      public static final int MAX_NESTED_FILTER_DEPTH = 100;
1833    
1834    
1835    
1836      /**
1837       * The OID for the attribute type that represents the "objectclass" attribute.
1838       */
1839      public static final String OBJECTCLASS_ATTRIBUTE_TYPE_OID = "2.5.4.0";
1840    
1841    
1842    
1843      /**
1844       * The name of the attribute type that represents the "objectclass" attribute,
1845       * formatted in all lowercase characters.
1846       */
1847      public static final String OBJECTCLASS_ATTRIBUTE_TYPE_NAME = "objectclass";
1848    
1849    
1850    
1851      /**
1852       * The value that will be used for the vendorName attribute in the root DSE.
1853       */
1854      public static final String SERVER_VENDOR_NAME = "Sun Microsystems, Inc.";
1855    
1856    
1857    
1858      /**
1859       * The name of the security mechanism that will be used for connections whose
1860       * communication is protected using the confidentiality features of
1861       * DIGEST-MD5.
1862       */
1863      public static final String SECURITY_MECHANISM_DIGEST_MD5_CONFIDENTIALITY =
1864           "DIGEST-MD5 Confidentiality";
1865    
1866    
1867    
1868      /**
1869       * The name of the security mechanism that will be used for connections whose
1870       * communication is protected using the confidentiality features of Kerberos.
1871       */
1872      public static final String SECURITY_MECHANISM_KERBEROS_CONFIDENTIALITY =
1873           "Kerberos Confidentiality";
1874    
1875    
1876    
1877      /**
1878       * The name of the security mechanism that will be used for connections
1879       * established using SSL.
1880       */
1881      public static final String SECURITY_MECHANISM_SSL = "SSL";
1882    
1883    
1884    
1885      /**
1886       * The name of the security mechanism that will be used for connections that
1887       * have established a secure session through StartTLS.
1888       */
1889      public static final String SECURITY_MECHANISM_START_TLS = "StartTLS";
1890    
1891    
1892    
1893      /**
1894       * The name of the SASL mechanism that does not provide any authentication but
1895       * rather uses anonymous access.
1896       */
1897      public static final String SASL_MECHANISM_ANONYMOUS = "ANONYMOUS";
1898    
1899    
1900    
1901      /**
1902       * The name of the SASL mechanism based on external authentication.
1903       */
1904      public static final String SASL_MECHANISM_EXTERNAL = "EXTERNAL";
1905    
1906    
1907    
1908      /**
1909       * The name of the SASL mechanism based on CRAM-MD5 authentication.
1910       */
1911      public static final String SASL_MECHANISM_CRAM_MD5 = "CRAM-MD5";
1912    
1913    
1914    
1915      /**
1916       * The name of the SASL mechanism based on DIGEST-MD5 authentication.
1917       */
1918      public static final String SASL_MECHANISM_DIGEST_MD5 = "DIGEST-MD5";
1919    
1920    
1921    
1922      /**
1923       * The name of the SASL mechanism based on GSS-API authentication.
1924       */
1925      public static final String SASL_MECHANISM_GSSAPI = "GSSAPI";
1926    
1927    
1928    
1929      /**
1930       * The name of the SASL mechanism based on PLAIN authentication.
1931       */
1932      public static final String SASL_MECHANISM_PLAIN = "PLAIN";
1933    
1934    
1935    
1936      /**
1937       * The OID for the account usable request and response controls.
1938       */
1939      public static final String OID_ACCOUNT_USABLE_CONTROL =
1940           "1.3.6.1.4.1.42.2.27.9.5.8";
1941    
1942    
1943    
1944      /**
1945       * The IANA-assigned OID for the feature allowing a user to request that all
1946       * operational attributes be returned.
1947       */
1948      public static final String OID_ALL_OPERATIONAL_ATTRS_FEATURE =
1949           "1.3.6.1.4.1.4203.1.5.1";
1950    
1951    
1952    
1953      /**
1954       * The OID for the authorization identity request control.
1955       */
1956      public static final String OID_AUTHZID_REQUEST = "2.16.840.1.113730.3.4.16";
1957    
1958    
1959    
1960      /**
1961       * The OID for the authorization identity response control.
1962       */
1963      public static final String OID_AUTHZID_RESPONSE = "2.16.840.1.113730.3.4.15";
1964    
1965    
1966    
1967      /**
1968       * The OID for the entry change notification control.
1969       */
1970      public static final String OID_ENTRY_CHANGE_NOTIFICATION =
1971           "2.16.840.1.113730.3.4.7";
1972    
1973    
1974    
1975      /**
1976       * The OID for the control that will be included in modifications used to
1977       * alter group membership.
1978       */
1979      public static final String OID_INTERNAL_GROUP_MEMBERSHIP_UPDATE =
1980           "1.3.6.1.4.1.26027.1.5.1";
1981    
1982    
1983    
1984      /**
1985       * The OID to include in the supportedFeatures list of the Directory Server
1986       * to indicate that it supports requesting attributes by objectclass.
1987       */
1988      public static final String OID_LDAP_ADLIST_FEATURE = "1.3.6.1.4.1.4203.1.5.2";
1989    
1990    
1991    
1992      /**
1993       * The IANA-assigned OID for the LDAP assertion control.
1994       */
1995      public static final String OID_LDAP_ASSERTION = "1.3.6.1.1.12";
1996    
1997    
1998    
1999      /**
2000       * The OID for the LDAP no-op control that was originally assigned in the
2001       * initial draft (draft-zeilenga-ldap-noop-00) from the OpenLDAP private
2002       * range.  Note that this reference has been removed in later drafts, but
2003       * given that at this time no official OID is assigned, we will use it for
2004       * now, and will continue to support it in the future (along with the real
2005       * OID).
2006       */
2007      public static final String OID_LDAP_NOOP_OPENLDAP_ASSIGNED =
2008           "1.3.6.1.4.1.4203.1.10.2";
2009    
2010    
2011    
2012      /**
2013       * The IANA-assigned OID for the LDAP readentry control used for retrieving an
2014       * entry in the state it had immediately before an update was applied.
2015       */
2016      public static final String OID_LDAP_READENTRY_PREREAD =
2017           "1.3.6.1.1.13.1";
2018    
2019    
2020    
2021      /**
2022       * The IANA-assigned OID for the LDAP readentry control used for retrieving an
2023       * entry in the state it had immediately after an update was applied.
2024       */
2025      public static final String OID_LDAP_READENTRY_POSTREAD =
2026           "1.3.6.1.1.13.2";
2027    
2028    
2029    
2030      /**
2031       * The OID for the LDAP subentries control used to indicate that matching
2032       * subentries should be returned.
2033       */
2034      public static final String OID_LDAP_SUBENTRIES = "1.3.6.1.4.1.7628.5.101.1";
2035    
2036    
2037    
2038      /**
2039       * The OID for the matched values control used to specify which particular
2040       * attribute values should be returned in a search result entry.
2041       */
2042      public static final String OID_MATCHED_VALUES = "1.2.826.0.1.3344810.2.3";
2043    
2044    
2045    
2046      /**
2047       * The IANA-assigned OID for the feature allowing the use of the increment
2048       * modification type.
2049       */
2050      public static final String OID_MODIFY_INCREMENT_FEATURE = "1.3.6.1.1.14";
2051    
2052    
2053    
2054      /**
2055       * The OID for the Netscape password expired control.
2056       */
2057      public static final String OID_NS_PASSWORD_EXPIRED =
2058           "2.16.840.1.113730.3.4.4";
2059    
2060    
2061    
2062      /**
2063       * The OID for the Netscape password expiring control.
2064       */
2065      public static final String OID_NS_PASSWORD_EXPIRING =
2066           "2.16.840.1.113730.3.4.5";
2067    
2068    
2069    
2070      /**
2071       * The OID for the password policy control from
2072       * draft-behera-ldap-password-policy.
2073       */
2074      public static final String OID_PASSWORD_POLICY_CONTROL =
2075           "1.3.6.1.4.1.42.2.27.8.5.1";
2076    
2077    
2078    
2079      /**
2080       * The OID for the persistent search control.
2081       */
2082      public static final String OID_PERSISTENT_SEARCH = "2.16.840.1.113730.3.4.3";
2083    
2084    
2085    
2086      /**
2087       * The OID for the proxied authorization v1 control.
2088       */
2089      public static final String OID_PROXIED_AUTH_V1 = "2.16.840.1.113730.3.4.12";
2090    
2091    
2092    
2093      /**
2094       * The OID for the proxied authorization v2 control.
2095       */
2096      public static final String OID_PROXIED_AUTH_V2 = "2.16.840.1.113730.3.4.18";
2097    
2098    
2099       /**
2100       * The OID for the get effective rights control.
2101       */
2102      public static final String OID_GET_EFFECTIVE_RIGHTS =
2103                                                        "1.3.6.1.4.1.42.2.27.9.5.2";
2104    
2105    
2106      /**
2107       * The OID for the real attributes only control.
2108       */
2109      public static final String OID_REAL_ATTRS_ONLY = "2.16.840.1.113730.3.4.17";
2110    
2111    
2112    
2113      /**
2114       * The OID for the subtree delete control.
2115       */
2116      public static final String OID_SUBTREE_DELETE_CONTROL =
2117           "1.2.840.113556.1.4.805";
2118    
2119    
2120    
2121      /**
2122       * The OID for the paged results control defined in RFC 2696.
2123       */
2124      public static final String OID_PAGED_RESULTS_CONTROL =
2125           "1.2.840.113556.1.4.319";
2126    
2127    
2128    
2129      /**
2130       * The OID for the ManageDsaIT control defined in RFC 3296.
2131       */
2132      public static final String OID_MANAGE_DSAIT_CONTROL =
2133           "2.16.840.1.113730.3.4.2";
2134    
2135    
2136    
2137      /**
2138       * The OID for the server-side sort request control.
2139       */
2140      public static final String OID_SERVER_SIDE_SORT_REQUEST_CONTROL =
2141           "1.2.840.113556.1.4.473";
2142    
2143    
2144    
2145      /**
2146       * The OID for the server-side sort response control.
2147       */
2148      public static final String OID_SERVER_SIDE_SORT_RESPONSE_CONTROL =
2149           "1.2.840.113556.1.4.474";
2150    
2151    
2152    
2153      /**
2154       * The IANA-assigned OID for the feature allowing the use of LDAP true and
2155       * false filters.
2156       */
2157      public static final String OID_TRUE_FALSE_FILTERS_FEATURE =
2158           "1.3.6.1.4.1.4203.1.5.3";
2159    
2160    
2161    
2162      /**
2163       * The OID for the virtual attributes only control.
2164       */
2165      public static final String OID_VIRTUAL_ATTRS_ONLY =
2166           "2.16.840.1.113730.3.4.19";
2167    
2168    
2169    
2170      /**
2171       * The OID for the virtual list view request control.
2172       */
2173      public static final String OID_VLV_REQUEST_CONTROL =
2174           "2.16.840.1.113730.3.4.9";
2175    
2176    
2177    
2178      /**
2179       * The OID for the virtual list view request control.
2180       */
2181      public static final String OID_VLV_RESPONSE_CONTROL =
2182           "2.16.840.1.113730.3.4.10";
2183    
2184    
2185    
2186    
2187      /**
2188       * The block length in bytes used when generating an HMAC-MD5 digest.
2189       */
2190      public static final int HMAC_MD5_BLOCK_LENGTH = 64;
2191    
2192    
2193    
2194      /**
2195       * The number of bytes in a raw MD5 digest.
2196       */
2197      public static final int MD5_DIGEST_LENGTH = 16;
2198    
2199    
2200    
2201      /**
2202       * The inner pad byte, which will be XORed with the shared secret for the
2203       * first CRAM-MD5 digest.
2204       */
2205      public static final byte CRAMMD5_IPAD_BYTE = 0x36;
2206    
2207    
2208    
2209      /**
2210       * The outer pad byte, which will be XORed with the shared secret for the
2211       * second CRAM-MD5 digest.
2212       */
2213      public static final byte CRAMMD5_OPAD_BYTE = 0x5C;
2214    
2215    
2216    
2217      /**
2218       * The name of the JAAS login module for Kerberos V.
2219       */
2220      public static final String JAAS_MODULE_KRB5 =
2221           "com.sun.security.auth.module.Krb5LoginModule";
2222    
2223    
2224    
2225      /**
2226       * The name of the JAAS property that specifies the path to the login
2227       * configuration file.
2228       */
2229      public static final String JAAS_PROPERTY_CONFIG_FILE =
2230           "java.security.auth.login.config";
2231    
2232    
2233    
2234      /**
2235       * The name of the JAAS property that indicates whether to allow JAAS
2236       * credentials to come from somewhere other than a GSS mechanism.
2237       */
2238      public static final String JAAS_PROPERTY_SUBJECT_CREDS_ONLY =
2239           "javax.security.auth.useSubjectCredsOnly";
2240    
2241    
2242    
2243      /**
2244       * The name of the Kerberos V property that specifies the address of the KDC.
2245       */
2246      public static final String KRBV_PROPERTY_KDC = "java.security.krb5.kdc";
2247    
2248    
2249    
2250      /**
2251       * The name of the Kerberos V property that specifies the realm to use.
2252       */
2253      public static final String KRBV_PROPERTY_REALM = "java.security.krb5.realm";
2254    
2255    
2256    
2257      /**
2258       * The name of the file (without path information) that should be used to hold
2259       * information about the backups contained in that directory.
2260       */
2261      public static final String BACKUP_DIRECTORY_DESCRIPTOR_FILE = "backup.info";
2262    
2263    
2264    
2265      /**
2266       * The name of the backup property that holds the base name of the archive
2267       * file containing the contents of the backup.
2268       */
2269      public static final String BACKUP_PROPERTY_ARCHIVE_FILENAME = "archive_file";
2270    
2271    
2272    
2273      /**
2274       * The name of the backup property that holds the name of the digest algorithm
2275       * used to generate the hash of a backup.
2276       */
2277      public static final String BACKUP_PROPERTY_DIGEST_ALGORITHM =
2278           "digest_algorithm";
2279    
2280    
2281    
2282      /**
2283       * The name of the backup property that holds the identifer of the key entry
2284       * that contains the MAC algorithm and shared secret key used to generate
2285       * the signed hash of a backup.
2286       */
2287      public static final String BACKUP_PROPERTY_MAC_KEY_ID = "mac_key_id";
2288    
2289    
2290    
2291      /**
2292       * The base filename to use for the archive file containing a backup of the
2293       * server configuration.
2294       */
2295      public static final String CONFIG_BACKUP_BASE_FILENAME = "config-backup-";
2296    
2297    
2298    
2299      /**
2300       * The base filename to use for the archive file containing a backup of the
2301       * server schema.
2302       */
2303      public static final String SCHEMA_BACKUP_BASE_FILENAME = "schema-backup-";
2304    
2305    
2306    
2307      /**
2308       * The name of the directory in which lock files will be placed.
2309       */
2310      public static final String LOCKS_DIRECTORY = "locks";
2311    
2312    
2313    
2314      /**
2315       * The prefix that will be used for lock filenames used for Directory Server
2316       * backends.
2317       */
2318      public static final String BACKEND_LOCK_FILE_PREFIX = "backend-";
2319    
2320    
2321    
2322      /**
2323       * The name that will be used for the server-wide lock to prevent multiple
2324       * instances of the server from running concurrently.
2325       */
2326      public static final String SERVER_LOCK_FILE_NAME = "server";
2327    
2328    
2329    
2330      /**
2331       * The suffix that will be used for all lock files created by the Directory
2332       * Server.
2333       */
2334      public static final String LOCK_FILE_SUFFIX = ".lock";
2335    
2336    
2337    
2338      /**
2339       * The name of the schema extension that will be used to specify the
2340       * approximate matching rule that should be used for a given attribute type.
2341       */
2342      public static final String SCHEMA_PROPERTY_APPROX_RULE = "X-APPROX";
2343    
2344    
2345    
2346      /**
2347       * The name of the schema property that will be used to specify the path to
2348       * the schema file from which the schema element was loaded.
2349       */
2350      public static final String SCHEMA_PROPERTY_FILENAME = "X-SCHEMA-FILE";
2351    
2352    
2353    
2354      /**
2355       * The abbreviated unit that should be used for a size specified in bytes.
2356       */
2357      public static final String SIZE_UNIT_BYTES_ABBR = "b";
2358    
2359    
2360    
2361      /**
2362       * The full unit that should be used for a size specified in bytes.
2363       */
2364      public static final String SIZE_UNIT_BYTES_FULL = "bytes";
2365    
2366    
2367    
2368      /**
2369       * The abbreviated unit that should be used for a size specified in kilobytes.
2370       */
2371      public static final String SIZE_UNIT_KILOBYTES_ABBR = "kb";
2372    
2373    
2374    
2375      /**
2376       * The full unit that should be used for a size specified in kilobytes.
2377       */
2378      public static final String SIZE_UNIT_KILOBYTES_FULL = "kilobytes";
2379    
2380    
2381    
2382      /**
2383       * The abbreviated unit that should be used for a size specified in kibibytes.
2384       */
2385      public static final String SIZE_UNIT_KIBIBYTES_ABBR = "kib";
2386    
2387    
2388    
2389      /**
2390       * The full unit that should be used for a size specified in kibibytes.
2391       */
2392      public static final String SIZE_UNIT_KIBIBYTES_FULL = "kibibytes";
2393    
2394    
2395    
2396      /**
2397       * The abbreviated unit that should be used for a size specified in megabytes.
2398       */
2399      public static final String SIZE_UNIT_MEGABYTES_ABBR = "mb";
2400    
2401    
2402    
2403      /**
2404       * The full unit that should be used for a size specified in megabytes.
2405       */
2406      public static final String SIZE_UNIT_MEGABYTES_FULL = "megabytes";
2407    
2408    
2409    
2410      /**
2411       * The abbreviated unit that should be used for a size specified in mebibytes.
2412       */
2413      public static final String SIZE_UNIT_MEBIBYTES_ABBR = "mib";
2414    
2415    
2416    
2417      /**
2418       * The full unit that should be used for a size specified in mebibytes.
2419       */
2420      public static final String SIZE_UNIT_MEBIBYTES_FULL = "mebibytes";
2421    
2422    
2423    
2424      /**
2425       * The abbreviated unit that should be used for a size specified in gigabytes.
2426       */
2427      public static final String SIZE_UNIT_GIGABYTES_ABBR = "gb";
2428    
2429    
2430    
2431      /**
2432       * The full unit that should be used for a size specified in gigabytes.
2433       */
2434      public static final String SIZE_UNIT_GIGABYTES_FULL = "gigabytes";
2435    
2436    
2437    
2438      /**
2439       * The abbreviated unit that should be used for a size specified in gibibytes.
2440       */
2441      public static final String SIZE_UNIT_GIBIBYTES_ABBR = "gib";
2442    
2443    
2444    
2445      /**
2446       * The full unit that should be used for a size specified in gibibytes.
2447       */
2448      public static final String SIZE_UNIT_GIBIBYTES_FULL = "gibibytes";
2449    
2450    
2451    
2452      /**
2453       * The abbreviated unit that should be used for a size specified in terabytes.
2454       */
2455      public static final String SIZE_UNIT_TERABYTES_ABBR = "tb";
2456    
2457    
2458    
2459      /**
2460       * The full unit that should be used for a size specified in terabytes.
2461       */
2462      public static final String SIZE_UNIT_TERABYTES_FULL = "terabytes";
2463    
2464    
2465    
2466      /**
2467       * The abbreviated unit that should be used for a size specified in tebibytes.
2468       */
2469      public static final String SIZE_UNIT_TEBIBYTES_ABBR = "tib";
2470    
2471    
2472    
2473      /**
2474       * The full unit that should be used for a size specified in tebibytes.
2475       */
2476      public static final String SIZE_UNIT_TEBIBYTES_FULL = "tebibytes";
2477    
2478    
2479    
2480      /**
2481       * The abbreviated unit that should be used for a time specified in
2482       * nanoseconds.
2483       */
2484      public static final String TIME_UNIT_NANOSECONDS_ABBR = "ns";
2485    
2486    
2487    
2488      /**
2489       * The full unit that should be used for a time specified in nanoseconds.
2490       */
2491      public static final String TIME_UNIT_NANOSECONDS_FULL = "nanoseconds";
2492    
2493    
2494    
2495      /**
2496       * The abbreviated unit that should be used for a time specified in
2497       * microseconds.
2498       */
2499      public static final String TIME_UNIT_MICROSECONDS_ABBR = "us";
2500    
2501    
2502    
2503      /**
2504       * The full unit that should be used for a time specified in microseconds.
2505       */
2506      public static final String TIME_UNIT_MICROSECONDS_FULL = "microseconds";
2507    
2508    
2509    
2510      /**
2511       * The abbreviated unit that should be used for a time specified in
2512       * milliseconds.
2513       */
2514      public static final String TIME_UNIT_MILLISECONDS_ABBR = "ms";
2515    
2516    
2517    
2518      /**
2519       * The full unit that should be used for a time specified in milliseconds.
2520       */
2521      public static final String TIME_UNIT_MILLISECONDS_FULL = "milliseconds";
2522    
2523    
2524    
2525      /**
2526       * The abbreviated unit that should be used for a time specified in seconds.
2527       */
2528      public static final String TIME_UNIT_SECONDS_ABBR = "s";
2529    
2530    
2531    
2532      /**
2533       * The full unit that should be used for a time specified in seconds.
2534       */
2535      public static final String TIME_UNIT_SECONDS_FULL = "seconds";
2536    
2537    
2538    
2539      /**
2540       * The abbreviated unit that should be used for a time specified in minutes.
2541       */
2542      public static final String TIME_UNIT_MINUTES_ABBR = "m";
2543    
2544    
2545    
2546      /**
2547       * The full unit that should be used for a time specified in minutes.
2548       */
2549      public static final String TIME_UNIT_MINUTES_FULL = "minutes";
2550    
2551    
2552    
2553      /**
2554       * The abbreviated unit that should be used for a time specified in hours.
2555       */
2556      public static final String TIME_UNIT_HOURS_ABBR = "h";
2557    
2558    
2559    
2560      /**
2561       * The full unit that should be used for a time specified in hours.
2562       */
2563      public static final String TIME_UNIT_HOURS_FULL = "hours";
2564    
2565    
2566    
2567      /**
2568       * The abbreviated unit that should be used for a time specified in days.
2569       */
2570      public static final String TIME_UNIT_DAYS_ABBR = "d";
2571    
2572    
2573    
2574      /**
2575       * The full unit that should be used for a time specified in days.
2576       */
2577      public static final String TIME_UNIT_DAYS_FULL = "days";
2578    
2579    
2580    
2581      /**
2582       * The abbreviated unit that should be used for a time specified in weeks.
2583       */
2584      public static final String TIME_UNIT_WEEKS_ABBR = "w";
2585    
2586    
2587    
2588      /**
2589       * The full unit that should be used for a time specified in weeks.
2590       */
2591      public static final String TIME_UNIT_WEEKS_FULL = "weeks";
2592    
2593    
2594    
2595      /**
2596       * The name of the system property that can be used to specify the
2597       * fully-qualified name of theclass that provides the Director Server config
2598       * handler implementation.
2599       */
2600      public static final String PROPERTY_CONFIG_CLASS =
2601           "org.opends.server.ConfigClass";
2602    
2603    
2604    
2605      /**
2606       * The name of the system property that can be used to specify the path to the
2607       * configuration file that should be used to initialize the config handler.
2608       */
2609      public static final String PROPERTY_CONFIG_FILE =
2610           "org.opends.server.ConfigFile";
2611    
2612    
2613    
2614      /**
2615       * The name of the system property that can be used to disable any connection
2616       * handler that may be enabled in the server configuration.  This may be used
2617       * to start the server in a mode where it will not accept any external
2618       * connections, but may still be used for processing internal operations.
2619       */
2620      public static final String PROPERTY_DISABLE_CONNECTION_HANDLERS =
2621           "org.opends.server.DisableConnectionHandlers";
2622    
2623    
2624    
2625      /**
2626       * The name of the system property that can be used to indicate whether
2627       * components should be allowed to use the <CODE>Runtime.exec</CODE> method.
2628       * If this property is set and the value is anything other than "false",
2629       * "off", "no", or "0", then components should not allow the use of the
2630       * <CODE>exec</CODE> method.
2631       */
2632      public static final String PROPERTY_DISABLE_EXEC =
2633           "org.opends.server.DisableExec";
2634    
2635    
2636    
2637      /**
2638       * The name of the system property that can be used to determine whether all
2639       * <CODE>DirectoryThread</CODE> instances should be created as daemon threads
2640       * regardless of whether they would otherwise be configured that way.
2641       */
2642      public static final String PROPERTY_FORCE_DAEMON_THREADS =
2643           "org.opends.server.ForceDaemonThreads";
2644    
2645    
2646    
2647      /**
2648       * The name of the system property that can be used to specify the path to the
2649       * directory in which the server lock files should be written.  If this is not
2650       * set, then the server will use a directory named "locks" below the server
2651       * root.  Note that if the server is ever started with a different lock file
2652       * directory than was used for the previous startup, then the server
2653       * administrator must ensure that the instance is not already running.
2654       */
2655      public static final String PROPERTY_LOCK_DIRECTORY =
2656           "org.opends.server.LockDirectory";
2657    
2658    
2659    
2660      /**
2661       * The name of the system property that can be used to specify the concurrency
2662       * level for the lock table.  This should be set to the maximum number of
2663       * threads that could attempt to interact with the lock table at any given
2664       * time.
2665       */
2666      public static final String PROPERTY_LOCK_MANAGER_CONCURRENCY_LEVEL =
2667           "org.opends.server.LockManagerConcurrencyLevel";
2668    
2669    
2670    
2671      /**
2672       * The name of the system property that can be used to specify the initial
2673       * table size for the server lock table.  This can be used to ensure that the
2674       * lock table has the appropriate size for the expected number of locks that
2675       * will be held at any given time.
2676       */
2677      public static final String PROPERTY_LOCK_MANAGER_TABLE_SIZE =
2678           "org.opends.server.LockManagerTableSize";
2679    
2680    
2681    
2682      /**
2683       * The name of the system property that can be used to determine whether the
2684       * server should maintain an archive of previous configurations.  If this is
2685       * not set, or if the value is anything other than "false", then the server
2686       * will maintain a configuration archive.
2687       */
2688      public static final String PROPERTY_MAINTAIN_CONFIG_ARCHIVE =
2689           "org.opends.server.MaintainConfigArchive";
2690    
2691    
2692    
2693      /**
2694       * The name of the system property that can be used to specify the maximum
2695       * number of archived configurations to maintain.  If this is not set, or if
2696       * it set to a zero or negative value, then there will be no limit on the
2697       * number of archived configurations.
2698       */
2699      public static final String PROPERTY_MAX_CONFIG_ARCHIVE_SIZE =
2700           "org.opends.server.MaxConfigArchiveSize";
2701    
2702    
2703    
2704      /**
2705       * The name of the system property that can be used to determine whether the
2706       * Directory Server is starting up for the purpose of running the unit tests.
2707       */
2708      public static final String PROPERTY_RUNNING_UNIT_TESTS =
2709           "org.opends.server.RunningUnitTests";
2710    
2711    
2712    
2713      /**
2714       * The name of the system property that can be used to specify the path to the
2715       * directory in which the schema configuration files may be found.  If this is
2716       * not set, then the server wiill use a directory named "schema" below the
2717       * server root.
2718       */
2719      public static final String PROPERTY_SCHEMA_DIRECTORY =
2720           "org.opends.server.SchemaDirectory";
2721    
2722    
2723    
2724      /**
2725       * The name of a command-line script used to launch an administrative tool.
2726       */
2727      public static final String PROPERTY_SCRIPT_NAME =
2728           "org.opends.server.scriptName";
2729    
2730    
2731    
2732      /**
2733       * The name of the system property that can be used to specify the path to the
2734       * server root.
2735       */
2736      public static final String PROPERTY_SERVER_ROOT =
2737           "org.opends.server.ServerRoot";
2738    
2739    
2740    
2741      /**
2742       * The name of the system property that can be used to specify a target
2743       * for the debug logger on startup.
2744       */
2745      public static final String PROPERTY_DEBUG_TARGET =
2746          "org.opends.server.debug.target";
2747    
2748      /**
2749       * The name of the system property that can be used to specify a level
2750       * for the error logger on startup.
2751       */
2752      public static final String PROPERTY_ERROR_LEVEL =
2753          "org.opends.server.error.level";
2754    
2755      /**
2756       * The name of the system property that can be used to specify if  the entry
2757       * lock manager should use a fair ordering policy.
2758       */
2759      public static final String PROPERTY_LOCK_MANAGER_FAIR_ORDERING =
2760           "org.opends.server.LockManagerFairOrdering";
2761    
2762    
2763    
2764      /**
2765       * The name of the system property that can be used to indicate that the
2766       * Directory Server should attempt to start using the last known good
2767       * configuration, rather than the current active configuration.
2768       */
2769      public static final String PROPERTY_USE_LAST_KNOWN_GOOD_CONFIG =
2770           "org.opends.server.UseLastKnownGoodConfiguration";
2771    
2772    
2773    
2774      /**
2775       * The column at which to wrap long lines of output in the command-line tools.
2776       */
2777      public static final int MAX_LINE_WIDTH;
2778      static {
2779        int columns = 80;
2780        try {
2781          String s = System.getenv("COLUMNS");
2782          if (s != null) {
2783            columns = Integer.parseInt(s);
2784          }
2785        } catch (Exception e) {
2786          // Do nothing.
2787        }
2788        MAX_LINE_WIDTH = columns - 1;
2789      }
2790    
2791    
2792    
2793      /**
2794       * The name that should be used for the file to which the latest complete
2795       * schema data should be concatenated.
2796       */
2797      public static final String SCHEMA_CONCAT_FILE_NAME = "schema.ldif.current";
2798    
2799    
2800    
2801      /**
2802       * The name that should be used for the concatenated schema file generated at
2803       * build time with the base schema for the Subversion revision on which the
2804       * current build is based.  The value of
2805       * {@code DynamicConstants.REVISION_NUMBER} must be appended to this value in
2806       * order to get the full name.
2807       */
2808      public static final String SCHEMA_BASE_FILE_NAME_WITHOUT_REVISION  =
2809           "schema.ldif.";
2810    
2811    
2812    
2813      /**
2814       * The name of the JavaMail property that can be used to specify the address
2815       * of the SMTP server.
2816       */
2817      public static final String SMTP_PROPERTY_HOST = "mail.smtp.host";
2818    
2819    
2820    
2821      /**
2822       * The name of the JavaMail property that can be used to specify the port for
2823       * the SMTP server.
2824       */
2825      public static final String SMTP_PROPERTY_PORT = "mail.smtp.port";
2826    
2827    
2828      /**
2829       * The description for the alert type that will be used for the alert
2830       * notification generated if the multimaster replication detects
2831       * a conflict that cannot be solved automatically.
2832       */
2833      public static final String ALERT_DESCRIPTION_REPLICATION_UNRESOLVED_CONFLICT =
2834              "This alert type will be used to notify administrators if the  " +
2835              "multimaster replication cannot resolve automatically a conflict.";
2836    
2837    
2838      /**
2839       * The alert type string that will be used for the alert notification
2840       * generated if the multimaster replication detects
2841       * a conflict that cannot be solved automatically.
2842       */
2843      public static final String ALERT_TYPE_REPLICATION_UNRESOLVED_CONFLICT =
2844              "org.opends.server.replication.UnresolvedConflict";
2845    
2846    
2847    
2848      /**
2849       * The lines that make up the CDDL header.  They will not have any prefix, so
2850       * an appropriate prefix may need to be added for some cases (e.g., "# " for
2851       * shell scripts, "rem " for batch files, etc.).
2852       */
2853      public static final String[] CDDL_HEADER_LINES =
2854      {
2855        "CDDL HEADER START",
2856        "",
2857        "The contents of this file are subject to the terms of the",
2858        "Common Development and Distribution License, Version 1.0 only",
2859        "(the \"License\").  You may not use this file except in compliance",
2860        "with the License.",
2861        "",
2862        "You can obtain a copy of the license at",
2863        "https://OpenDS.dev.java.net/OpenDS.LICENSE.",
2864        "See the License for the specific language governing permissions",
2865        "and limitations under the License.",
2866        "",
2867        "When distributing Covered Code, include this CDDL HEADER in each",
2868        "file and include the License file at",
2869        "trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,",
2870        "add the following below this CDDL HEADER, with the fields enclosed",
2871        "by brackets \"[]\" replaced with your own identifying information:",
2872        "     Portions Copyright [yyyy] [name of copyright owner]",
2873        "",
2874        "CDDL HEADER END"
2875      };
2876    }
2877