X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FDirectory.java;fp=org.argeo.api.cms%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2Fdirectory%2FDirectory.java;h=7ed61ebc6818ab833b836041f6810f43b0e560ce;hb=54df376a9c2dd458a82eaa09bfbb718fe699dd0d;hp=0000000000000000000000000000000000000000;hpb=3c1cdc594d954520b14646102b366290bdad58c7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.cms/src/org/argeo/api/cms/directory/Directory.java b/org.argeo.api.cms/src/org/argeo/api/cms/directory/Directory.java new file mode 100644 index 000000000..7ed61ebc6 --- /dev/null +++ b/org.argeo.api.cms/src/org/argeo/api/cms/directory/Directory.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 (typicylly LDAP). */ +public interface Directory 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); +}