1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ldap.server.schema.bootstrap;
18
19
20 /***
21 * A configuration of related Schema objects bundled together and identified as
22 * a group.
23 *
24 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
25 * @version $Rev: 157708 $
26 */
27 public interface BootstrapSchema
28 {
29 /***
30 * Gets the name of the owner of the schema objects within this
31 * BootstrapSchema.
32 *
33 * @return the identifier for the owner of this set's objects
34 */
35 String getOwner();
36
37 /***
38 * Gets the name of the logical schema the objects of this BootstrapSchema
39 * belong to: e.g. krb5-kdc may be the logical LDAP schema name.
40 *
41 * @return the name of the logical schema
42 */
43 String getSchemaName();
44
45 /***
46 * Gets the package name of the schema's object factories.
47 *
48 * @return the name of the schema's package name
49 */
50 String getPackageName();
51
52 /***
53 * Gets the names of other schemas that this objects within this
54 * BootstrapSchema depends upon. These dependent schemas are those
55 * whose ConfigurationSets will be processed first.
56 *
57 * @return the String names of schema dependencies
58 */
59 String[] getDependencies();
60
61 /***
62 * Gets the base class name for bootstrap Schema class files. This name
63 * is the schema name with the first character capitalized and qualified
64 * by the package name. So for a bootstrap schema name of 'bar' within
65 * the 'foo' package would return foo.Bar as the base class name.
66 *
67 * @return the base of all bootstrap schema class names for this schema
68 */
69 String getBaseClassName();
70
71 /***
72 * Gets the default base class name for bootstrap Schema class files. This
73 * name is the schema name with the first character capitalized and qualified
74 * by the default package name. So for a bootstrap schema name of 'bar'
75 * within the 'foo' package would return foo.Bar as the base class name.
76 *
77 * @return the default base of all bootstrap schema class names for this schema
78 */
79 String getDefaultBaseClassName();
80
81 /***
82 * Gets the class name for bootstrap Schema class producer type.
83 *
84 * @return the bootstrap schema class name for a producer type in this schema
85 */
86 String getFullClassName( ProducerTypeEnum type );
87
88 /***
89 * If the base class name for the target class does not resolve, we attempt
90 * to load another backup class using this default base class name which
91 * tries another package for the target class factory to load.
92 *
93 * @return the default base class name
94 */
95 String getFullDefaultBaseClassName( ProducerTypeEnum type );
96
97 /***
98 * Gets the unqualified class name for bootstrap Schema class producer type.
99 *
100 * @return the bootstrap schema class name for a producer type in this schema
101 */
102 String getUnqualifiedClassName( ProducerTypeEnum type );
103
104 /***
105 * Gets the unqualified class name for Schema class.
106 *
107 * @return the bootstrap schema class name
108 */
109 String getUnqualifiedClassName();
110 }