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