]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/src/org/argeo/util/directory/ldap/LdapDirectoryDao.java
Use runtime namespace context as default.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / directory / ldap / LdapDirectoryDao.java
1 package org.argeo.util.directory.ldap;
2
3 import java.util.List;
4
5 import javax.naming.NameNotFoundException;
6 import javax.naming.directory.Attributes;
7 import javax.naming.ldap.LdapName;
8
9 import org.argeo.util.directory.HierarchyUnit;
10 import org.argeo.util.transaction.WorkingCopyProcessor;
11
12 public interface LdapDirectoryDao extends WorkingCopyProcessor<LdapEntryWorkingCopy> {
13 Boolean entryExists(LdapName dn);
14
15 LdapEntry doGetEntry(LdapName name) throws NameNotFoundException;
16
17 List<LdapEntry> doGetEntries(LdapName searchBase, String filter, boolean deep);
18
19 List<LdapName> getDirectGroups(LdapName dn);
20
21 Iterable<HierarchyUnit> doGetDirectHierarchyUnits(LdapName searchBase, boolean functionalOnly);
22
23 HierarchyUnit doGetHierarchyUnit(LdapName dn);
24
25 LdapEntry newUser(LdapName name, Attributes attrs);
26
27 LdapEntry newGroup(LdapName name, Attributes attrs);
28
29 void init();
30
31 void destroy();
32 }