diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-06-02 11:31:08 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-06-02 11:31:08 +0200 |
| commit | b96dd998d6c442be19c342399839896d00d4b6f5 (patch) | |
| tree | 51a0a07647e1d439d0adefdb57e6818a15d179ec /src/main/java/com/c2kernel/lookup/Lookup.java | |
| parent | 42adf60503b73c5106b30ba57fdeba13b3091169 (diff) | |
Initial commit
Diffstat (limited to 'src/main/java/com/c2kernel/lookup/Lookup.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lookup/Lookup.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/main/java/com/c2kernel/lookup/Lookup.java b/src/main/java/com/c2kernel/lookup/Lookup.java new file mode 100644 index 0000000..026ad19 --- /dev/null +++ b/src/main/java/com/c2kernel/lookup/Lookup.java @@ -0,0 +1,77 @@ +package com.c2kernel.lookup;
+
+import java.security.NoSuchAlgorithmException;
+import java.util.Iterator;
+
+import com.c2kernel.common.ObjectAlreadyExistsException;
+import com.c2kernel.common.ObjectCannotBeUpdated;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.process.auth.Authenticator;
+import com.c2kernel.property.PropertyDescriptionList;
+
+public interface Lookup {
+
+ public void initializeDirectory() throws ObjectNotFoundException;
+
+ public void open(Authenticator user);
+
+ public void close();
+
+ // Path resolution
+
+ public Class<?> getItemClass(Path path) throws ObjectNotFoundException;
+
+ public ItemPath resolvePath(DomainPath domainPath) throws InvalidItemPathException, ObjectNotFoundException;
+
+ public org.omg.CORBA.Object resolve(Path path) throws ObjectNotFoundException;
+
+ // Path management
+
+ public void add(Path newPath) throws ObjectCannotBeUpdated, ObjectAlreadyExistsException;
+
+ public void delete(Path path) throws ObjectCannotBeUpdated;
+
+ // Path finding and searching
+
+ public boolean exists(Path path);
+
+ public Iterator<Path> getChildren(Path path);
+
+ public Iterator<Path> search(Path path, String name);
+
+ public Iterator<Path> search(Path start, String propname, String propvalue);
+
+ public Iterator<Path> search(Path start, PropertyDescriptionList props);
+
+ public Iterator<Path> searchEntities(Path path);
+
+ public Iterator<Path> searchAliases(DomainPath start);
+
+ public Iterator<Path> searchAliases(ItemPath itemPath);
+
+ // Role and agent management
+
+ public AgentPath getAgentPath(String agentName) throws ObjectNotFoundException;
+
+ public RolePath getRolePath(String roleName) throws ObjectNotFoundException;
+
+ public RolePath createRole(String role, boolean b) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated;
+
+ public void addRole(AgentPath agent, RolePath rolePath) throws ObjectCannotBeUpdated, ObjectNotFoundException;
+
+ public AgentPath[] getAgents(RolePath rolePath) throws ObjectNotFoundException;
+
+ public RolePath[] getRoles(AgentPath agentPath);
+
+ public boolean hasRole(AgentPath agentPath, RolePath role);
+
+ public void removeRole(AgentPath agent, RolePath role) throws ObjectCannotBeUpdated, ObjectNotFoundException;
+
+ public String getAgentName(AgentPath agentPath) throws ObjectNotFoundException;
+
+ public void setAgentPassword(AgentPath agent, String newPassword) throws ObjectNotFoundException, ObjectCannotBeUpdated, NoSuchAlgorithmException;
+
+ public void setHasJobList(RolePath role, boolean hasJobList) throws ObjectNotFoundException, ObjectCannotBeUpdated;
+
+
+}
|
