X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FUserDirectory.java;h=05ed7cf7cef9260324307d66f6cac55c03cd5699;hb=3c1cdc594d954520b14646102b366290bdad58c7;hp=5a69f1a169b00177738a65019f0f68d275749fbc;hpb=e168383bac50637131fef8c41e119db7eb2284a7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java b/org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java index 5a69f1a16..05ed7cf7c 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/UserDirectory.java @@ -1,37 +1,19 @@ package org.argeo.osgi.useradmin; -import java.util.Optional; - -import org.argeo.osgi.transaction.WorkControl; +import org.argeo.util.directory.Directory; +import org.argeo.util.directory.HierarchyUnit; +import org.osgi.service.useradmin.Role; /** Information about a user directory. */ -public interface UserDirectory extends HierarchyUnit { - /** - * The base of the hierarchy defined by this directory. This could typically be - * an LDAP base DN. - */ - String getBasePath(); - -// /** The base DN of all entries in this user directory */ -// LdapName getBaseDn(); - -// /** The related {@link XAResource} */ -// XAResource getXaResource(); - - boolean isReadOnly(); - - boolean isDisabled(); +public interface UserDirectory extends Directory { - String getUserObjectClass(); + HierarchyUnit getHierarchyUnit(Role role); - String getUserBase(); + Iterable getHierarchyUnitRoles(HierarchyUnit hierarchyUnit, String filter, boolean deep); - String getGroupObjectClass(); + String getRolePath(Role role); - String getGroupBase(); + String getRoleSimpleName(Role role); - Optional getRealm(); - - @Deprecated - void setTransactionControl(WorkControl transactionControl); + Role getRoleByPath(String path); }