001    /*
002     * CDDL HEADER START
003     *
004     * The contents of this file are subject to the terms of the
005     * Common Development and Distribution License, Version 1.0 only
006     * (the "License").  You may not use this file except in compliance
007     * with the License.
008     *
009     * You can obtain a copy of the license at
010     * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011     * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012     * See the License for the specific language governing permissions
013     * and limitations under the License.
014     *
015     * When distributing Covered Code, include this CDDL HEADER in each
016     * file and include the License file at
017     * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
018     * add the following below this CDDL HEADER, with the fields enclosed
019     * by brackets "[]" replaced with your own identifying information:
020     *      Portions Copyright [yyyy] [name of copyright owner]
021     *
022     * CDDL HEADER END
023     *
024     *
025     *      Copyright 2008 Sun Microsystems, Inc.
026     */
027    package org.opends.server.admin.std.server;
028    
029    
030    
031    import org.opends.server.admin.Configuration;
032    import org.opends.server.admin.server.ConfigurationAddListener;
033    import org.opends.server.admin.server.ConfigurationChangeListener;
034    import org.opends.server.admin.server.ConfigurationDeleteListener;
035    import org.opends.server.config.ConfigException;
036    
037    
038    
039    /**
040     * A server-side interface for querying Plugin Root settings.
041     * <p>
042     * The Plugin Root defines the parent entry for all plug-ins defined
043     * in the server.
044     */
045    public interface PluginRootCfg extends Configuration {
046    
047      /**
048       * Gets the configuration class associated with this Plugin Root.
049       *
050       * @return Returns the configuration class associated with this Plugin Root.
051       */
052      Class<? extends PluginRootCfg> configurationClass();
053    
054    
055    
056      /**
057       * Register to be notified when this Plugin Root is changed.
058       *
059       * @param listener
060       *          The Plugin Root configuration change listener.
061       */
062      void addChangeListener(ConfigurationChangeListener<PluginRootCfg> listener);
063    
064    
065    
066      /**
067       * Deregister an existing Plugin Root configuration change listener.
068       *
069       * @param listener
070       *          The Plugin Root configuration change listener.
071       */
072      void removeChangeListener(ConfigurationChangeListener<PluginRootCfg> listener);
073    
074    
075    
076      /**
077       * Gets the "plugin-order-intermediate-response" property.
078       * <p>
079       * Specifies the order in which intermediate response plug-ins are
080       * to be loaded and invoked.
081       * <p>
082       * The value is a comma-delimited list of plug-in names (where the
083       * plug-in name is the RDN value from the plug-in configuration entry
084       * DN). The list can include at most one asterisk to indicate the
085       * position of any unspecified plug-in (and the relative order of
086       * those unspecified plug-ins is undefined).
087       *
088       * @return Returns the value of the "plugin-order-intermediate-response" property.
089       */
090      String getPluginOrderIntermediateResponse();
091    
092    
093    
094      /**
095       * Gets the "plugin-order-ldif-export" property.
096       * <p>
097       * Specifies the order in which LDIF export plug-ins are to be
098       * loaded and invoked.
099       * <p>
100       * The value is a comma-delimited list of plug-in names (where the
101       * plug-in name is the RDN value from the plug-in configuration entry
102       * DN). The list can include at most one asterisk to indicate the
103       * position of any unspecified plug-in (and the relative order of
104       * those unspecified plug-ins is undefined).
105       *
106       * @return Returns the value of the "plugin-order-ldif-export" property.
107       */
108      String getPluginOrderLDIFExport();
109    
110    
111    
112      /**
113       * Gets the "plugin-order-ldif-import" property.
114       * <p>
115       * Specifies the order in which LDIF import plug-ins are to be
116       * loaded and invoked.
117       * <p>
118       * The value is a comma-delimited list of plug-in names (where the
119       * plug-in name is the RDN value from the plug-in configuration entry
120       * DN). The list can include at most one asterisk to indicate the
121       * position of any unspecified plug-in (and the relative order of
122       * those unspecified plug-ins is undefined).
123       *
124       * @return Returns the value of the "plugin-order-ldif-import" property.
125       */
126      String getPluginOrderLDIFImport();
127    
128    
129    
130      /**
131       * Gets the "plugin-order-post-connect" property.
132       * <p>
133       * Specifies the order in which post-connect plug-ins are to be
134       * loaded and invoked.
135       * <p>
136       * The value is a comma-delimited list of plug-in names (where the
137       * plug-in name is the RDN value from the plug-in configuration entry
138       * DN). The list can include at most one asterisk to indicate the
139       * position of any unspecified plug-in (and the relative order of
140       * those unspecified plug-ins is undefined).
141       *
142       * @return Returns the value of the "plugin-order-post-connect" property.
143       */
144      String getPluginOrderPostConnect();
145    
146    
147    
148      /**
149       * Gets the "plugin-order-post-disconnect" property.
150       * <p>
151       * Specifies the order in which post-disconnect plug-ins are to be
152       * loaded and invoked.
153       * <p>
154       * The value is a comma-delimited list of plug-in names (where the
155       * plug-in name is the RDN value from the plug-in configuration entry
156       * DN). The list can include at most one asterisk to indicate the
157       * position of any unspecified plug-in (and the relative order of
158       * those unspecified plug-ins is undefined).
159       *
160       * @return Returns the value of the "plugin-order-post-disconnect" property.
161       */
162      String getPluginOrderPostDisconnect();
163    
164    
165    
166      /**
167       * Gets the "plugin-order-post-operation-abandon" property.
168       * <p>
169       * Specifies the order in which post-operation abandon plug-ins are
170       * to be loaded and invoked.
171       * <p>
172       * The value is a comma-delimited list of plug-in names (where the
173       * plug-in name is the RDN value from the plug-in configuration entry
174       * DN). The list can include at most one asterisk to indicate the
175       * position of any unspecified plug-in (and the relative order of
176       * those unspecified plug-ins is undefined).
177       *
178       * @return Returns the value of the "plugin-order-post-operation-abandon" property.
179       */
180      String getPluginOrderPostOperationAbandon();
181    
182    
183    
184      /**
185       * Gets the "plugin-order-post-operation-add" property.
186       * <p>
187       * Specifies the order in which post-operation add plug-ins are to
188       * be loaded and invoked.
189       * <p>
190       * The value is a comma-delimited list of plug-in names (where the
191       * plug-in name is the RDN value from the plug-in configuration entry
192       * DN). The list can include at most one asterisk to indicate the
193       * position of any unspecified plug-in (and the relative order of
194       * those unspecified plug-ins is undefined).
195       *
196       * @return Returns the value of the "plugin-order-post-operation-add" property.
197       */
198      String getPluginOrderPostOperationAdd();
199    
200    
201    
202      /**
203       * Gets the "plugin-order-post-operation-bind" property.
204       * <p>
205       * Specifies the order in which post-operation bind plug-ins are to
206       * be loaded and invoked.
207       * <p>
208       * The value is a comma-delimited list of plug-in names (where the
209       * plug-in name is the RDN value from the plug-in configuration entry
210       * DN). The list can include at most one asterisk to indicate the
211       * position of any unspecified plug-in (and the relative order of
212       * those unspecified plug-ins is undefined).
213       *
214       * @return Returns the value of the "plugin-order-post-operation-bind" property.
215       */
216      String getPluginOrderPostOperationBind();
217    
218    
219    
220      /**
221       * Gets the "plugin-order-post-operation-compare" property.
222       * <p>
223       * Specifies the order in which post-operation compare plug-ins are
224       * to be loaded and invoked.
225       * <p>
226       * The value is a comma-delimited list of plug-in names (where the
227       * plug-in name is the RDN value from the plug-in configuration entry
228       * DN). The list can include at most one asterisk to indicate the
229       * position of any unspecified plug-in (and the relative order of
230       * those unspecified plug-ins is undefined).
231       *
232       * @return Returns the value of the "plugin-order-post-operation-compare" property.
233       */
234      String getPluginOrderPostOperationCompare();
235    
236    
237    
238      /**
239       * Gets the "plugin-order-post-operation-delete" property.
240       * <p>
241       * Specifies the order in which post-operation delete plug-ins are
242       * to be loaded and invoked.
243       * <p>
244       * The value is a comma-delimited list of plug-in names (where the
245       * plug-in name is the RDN value from the plug-in configuration entry
246       * DN). The list can include at most one asterisk to indicate the
247       * position of any unspecified plug-in (and the relative order of
248       * those unspecified plug-ins is undefined).
249       *
250       * @return Returns the value of the "plugin-order-post-operation-delete" property.
251       */
252      String getPluginOrderPostOperationDelete();
253    
254    
255    
256      /**
257       * Gets the "plugin-order-post-operation-extended" property.
258       * <p>
259       * Specifies the order in which post-operation extended operation
260       * plug-ins are to be loaded and invoked.
261       * <p>
262       * The value is a comma-delimited list of plug-in names (where the
263       * plug-in name is the RDN value from the plug-in configuration entry
264       * DN). The list can include at most one asterisk to indicate the
265       * position of any unspecified plug-in (and the relative order of
266       * those unspecified plug-ins is undefined).
267       *
268       * @return Returns the value of the "plugin-order-post-operation-extended" property.
269       */
270      String getPluginOrderPostOperationExtended();
271    
272    
273    
274      /**
275       * Gets the "plugin-order-post-operation-modify" property.
276       * <p>
277       * Specifies the order in which post-operation modify plug-ins are
278       * to be loaded and invoked.
279       * <p>
280       * The value is a comma-delimited list of plug-in names (where the
281       * plug-in name is the RDN value from the plug-in configuration entry
282       * DN). The list can include at most one asterisk to indicate the
283       * position of any unspecified plug-in (and the relative order of
284       * those unspecified plug-ins is undefined).
285       *
286       * @return Returns the value of the "plugin-order-post-operation-modify" property.
287       */
288      String getPluginOrderPostOperationModify();
289    
290    
291    
292      /**
293       * Gets the "plugin-order-post-operation-modify-dn" property.
294       * <p>
295       * Specifies the order in which post-operation modify DN plug-ins
296       * are to be loaded and invoked.
297       * <p>
298       * The value is a comma-delimited list of plug-in names (where the
299       * plug-in name is the RDN value from the plug-in configuration entry
300       * DN). The list can include at most one asterisk to indicate the
301       * position of any unspecified plug-in (and the relative order of
302       * those unspecified plug-ins is undefined).
303       *
304       * @return Returns the value of the "plugin-order-post-operation-modify-dn" property.
305       */
306      String getPluginOrderPostOperationModifyDN();
307    
308    
309    
310      /**
311       * Gets the "plugin-order-post-operation-search" property.
312       * <p>
313       * Specifies the order in which post-operation search plug-ins are
314       * to be loaded and invoked.
315       * <p>
316       * The value is a comma-delimited list of plug-in names (where the
317       * plug-in name is the RDN value from the plug-in configuration entry
318       * DN). The list can include at most one asterisk to indicate the
319       * position of any unspecified plug-in (and the relative order of
320       * those unspecified plug-ins is undefined).
321       *
322       * @return Returns the value of the "plugin-order-post-operation-search" property.
323       */
324      String getPluginOrderPostOperationSearch();
325    
326    
327    
328      /**
329       * Gets the "plugin-order-post-operation-unbind" property.
330       * <p>
331       * Specifies the order in which post-operation unbind plug-ins are
332       * to be loaded and invoked.
333       * <p>
334       * The value is a comma-delimited list of plug-in names (where the
335       * plug-in name is the RDN value from the plug-in configuration entry
336       * DN). The list can include at most one asterisk to indicate the
337       * position of any unspecified plug-in (and the relative order of
338       * those unspecified plug-ins is undefined).
339       *
340       * @return Returns the value of the "plugin-order-post-operation-unbind" property.
341       */
342      String getPluginOrderPostOperationUnbind();
343    
344    
345    
346      /**
347       * Gets the "plugin-order-post-response-add" property.
348       * <p>
349       * Specifies the order in which post-response add plug-ins are to be
350       * loaded and invoked.
351       * <p>
352       * The value is a comma-delimited list of plug-in names (where the
353       * plug-in name is the RDN value from the plug-in configuration entry
354       * DN). The list can include at most one asterisk to indicate the
355       * position of any unspecified plug-in (and the relative order of
356       * those unspecified plug-ins is undefined).
357       *
358       * @return Returns the value of the "plugin-order-post-response-add" property.
359       */
360      String getPluginOrderPostResponseAdd();
361    
362    
363    
364      /**
365       * Gets the "plugin-order-post-response-bind" property.
366       * <p>
367       * Specifies the order in which post-response bind plug-ins are to
368       * be loaded and invoked.
369       * <p>
370       * The value is a comma-delimited list of plug-in names (where the
371       * plug-in name is the RDN value from the plug-in configuration entry
372       * DN). The list can include at most one asterisk to indicate the
373       * position of any unspecified plug-in (and the relative order of
374       * those unspecified plug-ins is undefined).
375       *
376       * @return Returns the value of the "plugin-order-post-response-bind" property.
377       */
378      String getPluginOrderPostResponseBind();
379    
380    
381    
382      /**
383       * Gets the "plugin-order-post-response-compare" property.
384       * <p>
385       * Specifies the order in which post-response compare plug-ins are
386       * to be loaded and invoked.
387       * <p>
388       * The value is a comma-delimited list of plug-in names (where the
389       * plug-in name is the RDN value from the plug-in configuration entry
390       * DN). The list can include at most one asterisk to indicate the
391       * position of any unspecified plug-in (and the relative order of
392       * those unspecified plug-ins is undefined).
393       *
394       * @return Returns the value of the "plugin-order-post-response-compare" property.
395       */
396      String getPluginOrderPostResponseCompare();
397    
398    
399    
400      /**
401       * Gets the "plugin-order-post-response-delete" property.
402       * <p>
403       * Specifies the order in which post-response delete plug-ins are to
404       * be loaded and invoked.
405       * <p>
406       * The value is a comma-delimited list of plug-in names (where the
407       * plug-in name is the RDN value from the plug-in configuration entry
408       * DN). The list can include at most one asterisk to indicate the
409       * position of any unspecified plug-in (and the relative order of
410       * those unspecified plug-ins is undefined).
411       *
412       * @return Returns the value of the "plugin-order-post-response-delete" property.
413       */
414      String getPluginOrderPostResponseDelete();
415    
416    
417    
418      /**
419       * Gets the "plugin-order-post-response-extended" property.
420       * <p>
421       * Specifies the order in which post-response extended operation
422       * plug-ins are to be loaded and invoked.
423       * <p>
424       * The value is a comma-delimited list of plug-in names (where the
425       * plug-in name is the RDN value from the plug-in configuration entry
426       * DN). The list can include at most one asterisk to indicate the
427       * position of any unspecified plug-in (and the relative order of
428       * those unspecified plug-ins is undefined).
429       *
430       * @return Returns the value of the "plugin-order-post-response-extended" property.
431       */
432      String getPluginOrderPostResponseExtended();
433    
434    
435    
436      /**
437       * Gets the "plugin-order-post-response-modify" property.
438       * <p>
439       * Specifies the order in which post-response modify plug-ins are to
440       * be loaded and invoked.
441       * <p>
442       * The value is a comma-delimited list of plug-in names (where the
443       * plug-in name is the RDN value from the plug-in configuration entry
444       * DN). The list can include at most one asterisk to indicate the
445       * position of any unspecified plug-in (and the relative order of
446       * those unspecified plug-ins is undefined).
447       *
448       * @return Returns the value of the "plugin-order-post-response-modify" property.
449       */
450      String getPluginOrderPostResponseModify();
451    
452    
453    
454      /**
455       * Gets the "plugin-order-post-response-modify-dn" property.
456       * <p>
457       * Specifies the order in which post-response modify DN plug-ins are
458       * to be loaded and invoked.
459       * <p>
460       * The value is a comma-delimited list of plug-in names (where the
461       * plug-in name is the RDN value from the plug-in configuration entry
462       * DN). The list can include at most one asterisk to indicate the
463       * position of any unspecified plug-in (and the relative order of
464       * those unspecified plug-ins is undefined).
465       *
466       * @return Returns the value of the "plugin-order-post-response-modify-dn" property.
467       */
468      String getPluginOrderPostResponseModifyDN();
469    
470    
471    
472      /**
473       * Gets the "plugin-order-post-response-search" property.
474       * <p>
475       * Specifies the order in which post-response search plug-ins are to
476       * be loaded and invoked.
477       * <p>
478       * The value is a comma-delimited list of plug-in names (where the
479       * plug-in name is the RDN value from the plug-in configuration entry
480       * DN). The list can include at most one asterisk to indicate the
481       * position of any unspecified plug-in (and the relative order of
482       * those unspecified plug-ins is undefined).
483       *
484       * @return Returns the value of the "plugin-order-post-response-search" property.
485       */
486      String getPluginOrderPostResponseSearch();
487    
488    
489    
490      /**
491       * Gets the "plugin-order-post-synchronization-add" property.
492       * <p>
493       * Specifies the order in which post-synchronization add plug-ins
494       * are to be loaded and invoked.
495       * <p>
496       * The value is a comma-delimited list of plug-in names (where the
497       * plug-in name is the RDN value from the plug-in configuration entry
498       * DN). The list can include at most one asterisk to indicate the
499       * position of any unspecified plug-in (and the relative order of
500       * those unspecified plug-ins is undefined).
501       *
502       * @return Returns the value of the "plugin-order-post-synchronization-add" property.
503       */
504      String getPluginOrderPostSynchronizationAdd();
505    
506    
507    
508      /**
509       * Gets the "plugin-order-post-synchronization-delete" property.
510       * <p>
511       * Specifies the order in which post-synchronization delete plug-ins
512       * are to be loaded and invoked.
513       * <p>
514       * The value is a comma-delimited list of plug-in names (where the
515       * plug-in name is the RDN value from the plug-in configuration entry
516       * DN). The list can include at most one asterisk to indicate the
517       * position of any unspecified plug-in (and the relative order of
518       * those unspecified plug-ins is undefined).
519       *
520       * @return Returns the value of the "plugin-order-post-synchronization-delete" property.
521       */
522      String getPluginOrderPostSynchronizationDelete();
523    
524    
525    
526      /**
527       * Gets the "plugin-order-post-synchronization-modify" property.
528       * <p>
529       * Specifies the order in which post-synchronization modify plug-ins
530       * are to be loaded and invoked.
531       * <p>
532       * The value is a comma-delimited list of plug-in names (where the
533       * plug-in name is the RDN value from the plug-in configuration entry
534       * DN). The list can include at most one asterisk to indicate the
535       * position of any unspecified plug-in (and the relative order of
536       * those unspecified plug-ins is undefined).
537       *
538       * @return Returns the value of the "plugin-order-post-synchronization-modify" property.
539       */
540      String getPluginOrderPostSynchronizationModify();
541    
542    
543    
544      /**
545       * Gets the "plugin-order-post-synchronization-modify-dn" property.
546       * <p>
547       * Specifies the order in which post-synchronization modify DN
548       * plug-ins are to be loaded and invoked.
549       * <p>
550       * The value is a comma-delimited list of plug-in names (where the
551       * plug-in name is the RDN value from the plug-in configuration entry
552       * DN). The list can include at most one asterisk to indicate the
553       * position of any unspecified plug-in (and the relative order of
554       * those unspecified plug-ins is undefined).
555       *
556       * @return Returns the value of the "plugin-order-post-synchronization-modify-dn" property.
557       */
558      String getPluginOrderPostSynchronizationModifyDN();
559    
560    
561    
562      /**
563       * Gets the "plugin-order-pre-operation-add" property.
564       * <p>
565       * Specifies the order in which pre-operation add plug-ins are to be
566       * loaded and invoked.
567       * <p>
568       * The value is a comma-delimited list of plug-in names (where the
569       * plug-in name is the RDN value from the plug-in configuration entry
570       * DN). The list can include at most one asterisk to indicate the
571       * position of any unspecified plug-in (and the relative order of
572       * those unspecified plug-ins is undefined).
573       *
574       * @return Returns the value of the "plugin-order-pre-operation-add" property.
575       */
576      String getPluginOrderPreOperationAdd();
577    
578    
579    
580      /**
581       * Gets the "plugin-order-pre-operation-bind" property.
582       * <p>
583       * Specifies the order in which pre-operation bind plug-ins are to
584       * be loaded and invoked.
585       * <p>
586       * The value is a comma-delimited list of plug-in names (where the
587       * plug-in name is the RDN value from the plug-in configuration entry
588       * DN). The list can include at most one asterisk to indicate the
589       * position of any unspecified plug-in (and the relative order of
590       * those unspecified plug-ins is undefined).
591       *
592       * @return Returns the value of the "plugin-order-pre-operation-bind" property.
593       */
594      String getPluginOrderPreOperationBind();
595    
596    
597    
598      /**
599       * Gets the "plugin-order-pre-operation-compare" property.
600       * <p>
601       * Specifies the order in which pre-operation compare plug-ins are
602       * to be loaded and invoked.
603       * <p>
604       * The value is a comma-delimited list of plug-in names (where the
605       * plug-in name is the RDN value from the plug-in configuration entry
606       * DN). The list can include at most one asterisk to indicate the
607       * position of any unspecified plug-in (and the relative order of
608       * those unspecified plug-ins is undefined).
609       *
610       * @return Returns the value of the "plugin-order-pre-operation-compare" property.
611       */
612      String getPluginOrderPreOperationCompare();
613    
614    
615    
616      /**
617       * Gets the "plugin-order-pre-operation-delete" property.
618       * <p>
619       * Specifies the order in which pre-operation delete plug-ins are to
620       * be loaded and invoked.
621       * <p>
622       * The value is a comma-delimited list of plug-in names (where the
623       * plug-in name is the RDN value from the plug-in configuration entry
624       * DN). The list can include at most one asterisk to indicate the
625       * position of any unspecified plug-in (and the relative order of
626       * those unspecified plug-ins is undefined).
627       *
628       * @return Returns the value of the "plugin-order-pre-operation-delete" property.
629       */
630      String getPluginOrderPreOperationDelete();
631    
632    
633    
634      /**
635       * Gets the "plugin-order-pre-operation-extended" property.
636       * <p>
637       * Specifies the order in which pre-operation extended operation
638       * plug-ins are to be loaded and invoked.
639       * <p>
640       * The value is a comma-delimited list of plug-in names (where the
641       * plug-in name is the RDN value from the plug-in configuration entry
642       * DN). The list can include at most one asterisk to indicate the
643       * position of any unspecified plug-in (and the relative order of
644       * those unspecified plug-ins is undefined).
645       *
646       * @return Returns the value of the "plugin-order-pre-operation-extended" property.
647       */
648      String getPluginOrderPreOperationExtended();
649    
650    
651    
652      /**
653       * Gets the "plugin-order-pre-operation-modify" property.
654       * <p>
655       * Specifies the order in which pre-operation modify plug-ins are to
656       * be loaded and invoked.
657       * <p>
658       * The value is a comma-delimited list of plug-in names (where the
659       * plug-in name is the RDN value from the plug-in configuration entry
660       * DN). The list can include at most one asterisk to indicate the
661       * position of any unspecified plug-in (and the relative order of
662       * those unspecified plug-ins is undefined).
663       *
664       * @return Returns the value of the "plugin-order-pre-operation-modify" property.
665       */
666      String getPluginOrderPreOperationModify();
667    
668    
669    
670      /**
671       * Gets the "plugin-order-pre-operation-modify-dn" property.
672       * <p>
673       * Specifies the order in which pre-operation modify DN plug-ins are
674       * to be loaded and invoked.
675       * <p>
676       * The value is a comma-delimited list of plug-in names (where the
677       * plug-in name is the RDN value from the plug-in configuration entry
678       * DN). The list can include at most one asterisk to indicate the
679       * position of any unspecified plug-in (and the relative order of
680       * those unspecified plug-ins is undefined).
681       *
682       * @return Returns the value of the "plugin-order-pre-operation-modify-dn" property.
683       */
684      String getPluginOrderPreOperationModifyDN();
685    
686    
687    
688      /**
689       * Gets the "plugin-order-pre-operation-search" property.
690       * <p>
691       * Specifies the order in which pre-operation search plug-ins are to
692       * be loaded and invoked.
693       * <p>
694       * The value is a comma-delimited list of plug-in names (where the
695       * plug-in name is the RDN value from the plug-in configuration entry
696       * DN). The list can include at most one asterisk to indicate the
697       * position of any unspecified plug-in (and the relative order of
698       * those unspecified plug-ins is undefined).
699       *
700       * @return Returns the value of the "plugin-order-pre-operation-search" property.
701       */
702      String getPluginOrderPreOperationSearch();
703    
704    
705    
706      /**
707       * Gets the "plugin-order-pre-parse-abandon" property.
708       * <p>
709       * Specifies the order in which pre-parse abandon plug-ins are to be
710       * loaded and invoked.
711       * <p>
712       * The value is a comma-delimited list of plug-in names (where the
713       * plug-in name is the RDN value from the plug-in configuration entry
714       * DN). The list can include at most one asterisk to indicate the
715       * position of any unspecified plug-in (and the relative order of
716       * those unspecified plug-ins is undefined).
717       *
718       * @return Returns the value of the "plugin-order-pre-parse-abandon" property.
719       */
720      String getPluginOrderPreParseAbandon();
721    
722    
723    
724      /**
725       * Gets the "plugin-order-pre-parse-add" property.
726       * <p>
727       * Specifies the order in which pre-parse add plug-ins are to be
728       * loaded and invoked.
729       * <p>
730       * The value is a comma-delimited list of plug-in names (where the
731       * plug-in name is the RDN value from the plug-in configuration entry
732       * DN). The list can include at most one asterisk to indicate the
733       * position of any unspecified plug-in (and the relative order of
734       * those unspecified plug-ins is undefined).
735       *
736       * @return Returns the value of the "plugin-order-pre-parse-add" property.
737       */
738      String getPluginOrderPreParseAdd();
739    
740    
741    
742      /**
743       * Gets the "plugin-order-pre-parse-bind" property.
744       * <p>
745       * Specifies the order in which pre-parse bind plug-ins are to be
746       * loaded and invoked.
747       * <p>
748       * The value is a comma-delimited list of plug-in names (where the
749       * plug-in name is the RDN value from the plug-in configuration entry
750       * DN). The list can include at most one asterisk to indicate the
751       * position of any unspecified plug-in (and the relative order of
752       * those unspecified plug-ins is undefined).
753       *
754       * @return Returns the value of the "plugin-order-pre-parse-bind" property.
755       */
756      String getPluginOrderPreParseBind();
757    
758    
759    
760      /**
761       * Gets the "plugin-order-pre-parse-compare" property.
762       * <p>
763       * Specifies the order in which pre-parse compare plug-ins are to be
764       * loaded and invoked.
765       * <p>
766       * The value is a comma-delimited list of plug-in names (where the
767       * plug-in name is the RDN value from the plug-in configuration entry
768       * DN). The list can include at most one asterisk to indicate the
769       * position of any unspecified plug-in (and the relative order of
770       * those unspecified plug-ins is undefined).
771       *
772       * @return Returns the value of the "plugin-order-pre-parse-compare" property.
773       */
774      String getPluginOrderPreParseCompare();
775    
776    
777    
778      /**
779       * Gets the "plugin-order-pre-parse-delete" property.
780       * <p>
781       * Specifies the order in which pre-parse delete plug-ins are to be
782       * loaded and invoked.
783       * <p>
784       * The value is a comma-delimited list of plug-in names (where the
785       * plug-in name is the RDN value from the plug-in configuration entry
786       * DN). The list can include at most one asterisk to indicate the
787       * position of any unspecified plug-in (and the relative order of
788       * those unspecified plug-ins is undefined).
789       *
790       * @return Returns the value of the "plugin-order-pre-parse-delete" property.
791       */
792      String getPluginOrderPreParseDelete();
793    
794    
795    
796      /**
797       * Gets the "plugin-order-pre-parse-extended" property.
798       * <p>
799       * Specifies the order in which pre-parse extended operation
800       * plug-ins are to be loaded and invoked.
801       * <p>
802       * The value is a comma-delimited list of plug-in names (where the
803       * plug-in name is the RDN value from the plug-in configuration entry
804       * DN). The list can include at most one asterisk to indicate the
805       * position of any unspecified plug-in (and the relative order of
806       * those unspecified plug-ins is undefined).
807       *
808       * @return Returns the value of the "plugin-order-pre-parse-extended" property.
809       */
810      String getPluginOrderPreParseExtended();
811    
812    
813    
814      /**
815       * Gets the "plugin-order-pre-parse-modify" property.
816       * <p>
817       * Specifies the order in which pre-parse modify plug-ins are to be
818       * loaded and invoked.
819       * <p>
820       * The value is a comma-delimited list of plug-in names (where the
821       * plug-in name is the RDN value from the plug-in configuration entry
822       * DN). The list can include at most one asterisk to indicate the
823       * position of any unspecified plug-in (and the relative order of
824       * those unspecified plug-ins is undefined).
825       *
826       * @return Returns the value of the "plugin-order-pre-parse-modify" property.
827       */
828      String getPluginOrderPreParseModify();
829    
830    
831    
832      /**
833       * Gets the "plugin-order-pre-parse-modify-dn" property.
834       * <p>
835       * Specifies the order in which pre-parse modify DN plug-ins are to
836       * be loaded and invoked.
837       * <p>
838       * The value is a comma-delimited list of plug-in names (where the
839       * plug-in name is the RDN value from the plug-in configuration entry
840       * DN). The list can include at most one asterisk to indicate the
841       * position of any unspecified plug-in (and the relative order of
842       * those unspecified plug-ins is undefined).
843       *
844       * @return Returns the value of the "plugin-order-pre-parse-modify-dn" property.
845       */
846      String getPluginOrderPreParseModifyDN();
847    
848    
849    
850      /**
851       * Gets the "plugin-order-pre-parse-search" property.
852       * <p>
853       * Specifies the order in which pre-parse search plug-ins are to be
854       * loaded and invoked.
855       * <p>
856       * The value is a comma-delimited list of plug-in names (where the
857       * plug-in name is the RDN value from the plug-in configuration entry
858       * DN). The list can include at most one asterisk to indicate the
859       * position of any unspecified plug-in (and the relative order of
860       * those unspecified plug-ins is undefined).
861       *
862       * @return Returns the value of the "plugin-order-pre-parse-search" property.
863       */
864      String getPluginOrderPreParseSearch();
865    
866    
867    
868      /**
869       * Gets the "plugin-order-pre-parse-unbind" property.
870       * <p>
871       * Specifies the order in which pre-parse unbind plug-ins are to be
872       * loaded and invoked.
873       * <p>
874       * The value is a comma-delimited list of plug-in names (where the
875       * plug-in name is the RDN value from the plug-in configuration entry
876       * DN). The list can include at most one asterisk to indicate the
877       * position of any unspecified plug-in (and the relative order of
878       * those unspecified plug-ins is undefined).
879       *
880       * @return Returns the value of the "plugin-order-pre-parse-unbind" property.
881       */
882      String getPluginOrderPreParseUnbind();
883    
884    
885    
886      /**
887       * Gets the "plugin-order-search-result-entry" property.
888       * <p>
889       * Specifies the order in which search result entry plug-ins are to
890       * be loaded and invoked.
891       * <p>
892       * The value is a comma-delimited list of plug-in names (where the
893       * plug-in name is the RDN value from the plug-in configuration entry
894       * DN). The list can include at most one asterisk to indicate the
895       * position of any unspecified plug-in (and the relative order of
896       * those unspecified plug-ins is undefined).
897       *
898       * @return Returns the value of the "plugin-order-search-result-entry" property.
899       */
900      String getPluginOrderSearchResultEntry();
901    
902    
903    
904      /**
905       * Gets the "plugin-order-search-result-reference" property.
906       * <p>
907       * Specifies the order in which search result reference plug-ins are
908       * to be loaded and invoked.
909       * <p>
910       * The value is a comma-delimited list of plug-in names (where the
911       * plug-in name is the RDN value from the plug-in configuration entry
912       * DN). The list can include at most one asterisk to indicate the
913       * position of any unspecified plug-in (and the relative order of
914       * those unspecified plug-ins is undefined).
915       *
916       * @return Returns the value of the "plugin-order-search-result-reference" property.
917       */
918      String getPluginOrderSearchResultReference();
919    
920    
921    
922      /**
923       * Gets the "plugin-order-shutdown" property.
924       * <p>
925       * Specifies the order in which shutdown plug-ins are to be loaded
926       * and invoked.
927       * <p>
928       * The value is a comma-delimited list of plug-in names (where the
929       * plug-in name is the RDN value from the plug-in configuration entry
930       * DN). The list can include at most one asterisk to indicate the
931       * position of any unspecified plug-in (and the relative order of
932       * those unspecified plug-ins is undefined).
933       *
934       * @return Returns the value of the "plugin-order-shutdown" property.
935       */
936      String getPluginOrderShutdown();
937    
938    
939    
940      /**
941       * Gets the "plugin-order-startup" property.
942       * <p>
943       * Specifies the order in which startup plug-ins are to be loaded
944       * and invoked.
945       * <p>
946       * The value is a comma-delimited list of plug-in names (where the
947       * plug-in name is the RDN value from the plug-in configuration entry
948       * DN). The list can include at most one asterisk to indicate the
949       * position of any unspecified plug-in (and the relative order of
950       * those unspecified plug-ins is undefined).
951       *
952       * @return Returns the value of the "plugin-order-startup" property.
953       */
954      String getPluginOrderStartup();
955    
956    
957    
958      /**
959       * Gets the "plugin-order-subordinate-modify-dn" property.
960       * <p>
961       * Specifies the order in which subordinate modify DN plug-ins are
962       * to be loaded and invoked.
963       * <p>
964       * The value is a comma-delimited list of plug-in names (where the
965       * plug-in name is the RDN value from the plug-in configuration entry
966       * DN). The list can include at most one asterisk to indicate the
967       * position of any unspecified plug-in (and the relative order of
968       * those unspecified plug-ins is undefined).
969       *
970       * @return Returns the value of the "plugin-order-subordinate-modify-dn" property.
971       */
972      String getPluginOrderSubordinateModifyDN();
973    
974    
975    
976      /**
977       * Lists the Plugins.
978       *
979       * @return Returns an array containing the names of the
980       *         Plugins.
981       */
982      String[] listPlugins();
983    
984    
985    
986      /**
987       * Gets the named Plugin.
988       *
989       * @param name
990       *          The name of the Plugin to retrieve.
991       * @return Returns the named Plugin.
992       * @throws ConfigException
993       *           If the Plugin could not be found or it
994       *           could not be successfully decoded.
995       */
996      PluginCfg getPlugin(String name) throws ConfigException;
997    
998    
999    
1000      /**
1001       * Registers to be notified when new Plugins are added.
1002       *
1003       * @param listener
1004       *          The Plugin configuration add listener.
1005       * @throws ConfigException
1006       *          If the add listener could not be registered.
1007       */
1008      void addPluginAddListener(ConfigurationAddListener<PluginCfg> listener) throws ConfigException;
1009    
1010    
1011    
1012      /**
1013       * Deregisters an existing Plugin configuration add listener.
1014       *
1015       * @param listener
1016       *          The Plugin configuration add listener.
1017       */
1018      void removePluginAddListener(ConfigurationAddListener<PluginCfg> listener);
1019    
1020    
1021    
1022      /**
1023       * Registers to be notified when existing Plugins are deleted.
1024       *
1025       * @param listener
1026       *          The Plugin configuration delete listener.
1027       * @throws ConfigException
1028       *          If the delete listener could not be registered.
1029       */
1030      void addPluginDeleteListener(ConfigurationDeleteListener<PluginCfg> listener) throws ConfigException;
1031    
1032    
1033    
1034      /**
1035       * Deregisters an existing Plugin configuration delete listener.
1036       *
1037       * @param listener
1038       *          The Plugin configuration delete listener.
1039       */
1040      void removePluginDeleteListener(ConfigurationDeleteListener<PluginCfg> listener);
1041    
1042    }