]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/src/org/argeo/util/directory/ldap/LdapDirectoryDao.java
Introduce systemd user service
[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 checkConnection();
14
15 boolean entryExists(LdapName dn);
16
17 LdapEntry doGetEntry(LdapName name) throws NameNotFoundException;
18
19 Attributes doGetAttributes(LdapName name);
20
21 List<LdapEntry> doGetEntries(LdapName searchBase, String filter, boolean deep);
22
23 List<LdapName> getDirectGroups(LdapName dn);
24
25 Iterable<HierarchyUnit> doGetDirectHierarchyUnits(LdapName searchBase, boolean functionalOnly);
26
27 HierarchyUnit doGetHierarchyUnit(LdapName dn);
28
29 LdapEntry newUser(LdapName name);
30
31 LdapEntry newGroup(LdapName name);
32
33 void init();
34
35 void destroy();
36 }