1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ldap.server.schema;
18
19
20 import java.util.Iterator;
21
22 import javax.naming.NamingException;
23
24 import org.apache.ldap.common.schema.DITContentRule;
25
26
27 /***
28 * An DITContentRule registry's service interface.
29 *
30 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
31 * @version $Rev: 264732 $
32 */
33 public interface DITContentRuleRegistry
34 {
35 /***
36 * Registers a DITContentRule with this registry.
37 *
38 * @param schema the name of the schema the DITContentRule is associated with
39 * @param dITContentRule the DITContentRule to register
40 * @throws NamingException if the DITContentRule is already registered or
41 * the registration operation is not supported
42 */
43 void register( String schema, DITContentRule dITContentRule ) throws NamingException;
44
45 /***
46 * Looks up a DITContentRule by its object identifier or by its name.
47 *
48 * @param id the object identifier or name of the DITContentRule
49 * @return the DITContentRule instance for the id
50 * @throws NamingException if the DITContentRule does not exist
51 */
52 DITContentRule lookup( String id ) throws NamingException;
53
54 /***
55 * Gets the name of the schema this schema object is associated with.
56 *
57 * @param id the object identifier or the name
58 * @return the schema name
59 * @throws NamingException if the schema object does not exist
60 */
61 String getSchemaName( String id ) throws NamingException;
62
63 /***
64 * Checks to see if a DITContentRule exists.
65 *
66 * @param id the object identifier or name of the DITContentRule
67 * @return true if a DITContentRule definition exists for the id, false
68 * otherwise
69 */
70 boolean hasDITContentRule( String id );
71
72 /***
73 * Lists all the DITContentRules within this registry.
74 *
75 * @return Iterator over all the DITContentRules within this registry
76 */
77 Iterator list();
78 }