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