1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package no.feide.moria.directory.backend;
21
22 import org.jdom.Element;
23
24 /***
25 * The interface to the backend factory.
26 */
27 public interface DirectoryManagerBackendFactory {
28
29 /***
30 * Sets the backend factory configuration. Must be called before
31 * <code>createBackend()</code> is used.
32 * @param config
33 * The backend configuration. See details for the actual backend
34 * implementation used.
35 */
36 void setConfig(final Element config);
37
38
39 /***
40 * Creates a new instance of a proper directory manager backend.
41 * @param sessionTicket
42 * The session ticket belonging to instances of
43 * <code>DirectoryManagerBackend</code>. Used when logging.
44 * The actual implementation of
45 * <code>DirectoryManagerBackend</code> may choose to ignore
46 * this value, if logging is not an issue. May be
47 * <code>null</code> or an empty string.
48 * @return A new instance of the backend, tied to the proper reference.
49 */
50 DirectoryManagerBackend createBackend(final String sessionTicket);
51
52 }