X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FCmsDirectory.java;fp=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FCmsDirectory.java;h=f5b78ac455429ccfb4d8c56253bb467f56ac5b49;hb=feddb4be70a8304dd4a533efee6e14c22691b500;hp=0000000000000000000000000000000000000000;hpb=f3cb3bed85cb528d919193ce6abb2bb8d05faf03;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.cms/src/org/argeo/api/cms/directory/CmsDirectory.java b/org.argeo.api.cms/src/org/argeo/api/cms/directory/CmsDirectory.java new file mode 100644 index 000000000..f5b78ac45 --- /dev/null +++ b/org.argeo.api.cms/src/org/argeo/api/cms/directory/CmsDirectory.java @@ -0,0 +1,32 @@ +package org.argeo.api.cms.directory; + +import java.util.Optional; + +import org.argeo.api.cms.transaction.WorkControl; + +/** An information directory (typically LDAP). */ +public interface CmsDirectory extends HierarchyUnit { + String getName(); + + /** Whether this directory is read only. */ + boolean isReadOnly(); + + /** Whether this directory is disabled. */ + boolean isDisabled(); + + /** The realm (typically Kerberos) of this directory. */ + Optional getRealm(); + + /** Sets the transaction control used by this directory when editing. */ + void setTransactionControl(WorkControl transactionControl); + + /* + * HIERARCHY + */ + + /** The hierarchy unit at this path. */ + HierarchyUnit getHierarchyUnit(String path); + + /** Create a new hierarchy unit. */ + HierarchyUnit createHierarchyUnit(String path); +}