/****************************************************************************** * HierarchyProvider.java - created by aaronz on Jul 1, 2007 * * Copyright (c) 2007 Centre for Academic Research in Educational Technologies * Licensed under the Educational Community License version 1.0 * * A copy of the Educational Community License has been included in this * distribution and is available at: http://www.opensource.org/licenses/ecl1.php * *****************************************************************************/ package org.sakaiproject.hierarchy; /** * This interface provides methods to get hierarchical node data into sakai * for use in determining the structure above sites/groups related to * adminstration and access to data and control of permissions * * @author Aaron Zeckoski (aaronz@vt.edu) */ public interface HierarchyProvider extends HierarchyNodeReader { public static final String HIERARCHY_PERM_NODE_UPDATE = "perm_node_update"; public static final String HIERARCHY_PERM_NODE_REMOVE = "perm_node_remove"; /** * Determine if a user has a specific hierarchy permission at a specific hierarchy node * <br/>The actual permissions this should handle are shown at the top of this class * * @param userId the internal user id (not username) * @param nodeId a unique id for a hierarchy node * @param hierarchyPermConstant a HIERARCHY_PERM_NODE constant * @return true if the user has this permission, false otherwise */ public boolean checkUserNodePerm(String userId, String nodeId, String hierarchyPermConstant); }