]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/directory/ldap/LdapDirectoryDao.java
Improve ACR attribute typing.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / directory / ldap / LdapDirectoryDao.java
1 package org.argeo.cms.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.api.cms.directory.HierarchyUnit;
10 import org.argeo.api.cms.transaction.WorkingCopyProcessor;
11
12 /** Low-level access to an LDAP/LDIF directory. */
13 public interface LdapDirectoryDao extends WorkingCopyProcessor<LdapEntryWorkingCopy> {
14 boolean checkConnection();
15
16 boolean entryExists(LdapName dn);
17
18 LdapEntry doGetEntry(LdapName name) throws NameNotFoundException;
19
20 Attributes doGetAttributes(LdapName name);
21
22 List<LdapEntry> doGetEntries(LdapName searchBase, String filter, boolean deep);
23
24 List<LdapName> getDirectGroups(LdapName dn);
25
26 Iterable<HierarchyUnit> doGetDirectHierarchyUnits(LdapName searchBase, boolean functionalOnly);
27
28 HierarchyUnit doGetHierarchyUnit(LdapName dn);
29
30 LdapEntry newUser(LdapName name);
31
32 LdapEntry newGroup(LdapName name);
33
34 void init();
35
36 void destroy();
37 }