]> git.argeo.org Git - lgpl/argeo-commons.git/blob - UserDirectory.java
2c070d66d53a720561eade2f854f6ed83aa54230
[lgpl/argeo-commons.git] / UserDirectory.java
1 package org.argeo.osgi.useradmin;
2
3 import java.util.Optional;
4
5 import org.argeo.util.transaction.WorkControl;
6 import org.osgi.service.useradmin.Role;
7
8 /** Information about a user directory. */
9 public interface UserDirectory {
10 /**
11 * The base of the hierarchy defined by this directory. This could typically be
12 * an LDAP base DN.
13 */
14 String getContext();
15
16 String getName();
17
18 // /** The base DN of all entries in this user directory */
19 // LdapName getBaseDn();
20
21 // /** The related {@link XAResource} */
22 // XAResource getXaResource();
23
24 boolean isReadOnly();
25
26 boolean isDisabled();
27
28 String getUserObjectClass();
29
30 // String getUserBase();
31
32 String getGroupObjectClass();
33
34 // String getGroupBase();
35
36 Optional<String> getRealm();
37
38 Iterable<HierarchyUnit> getDirectHierarchyUnits(boolean functionalOnly);
39
40 HierarchyUnit getHierarchyUnit(String path);
41
42 HierarchyUnit getHierarchyUnit(Role role);
43
44 String getRolePath(Role role);
45
46 String getRoleSimpleName(Role role);
47
48 Role getRoleByPath(String path);
49
50 @Deprecated
51 void setTransactionControl(WorkControl transactionControl);
52 }