/** * Copyright (c) 2004-2011 Wang Jinbao(Julian Wong), http://www.ralasafe.com * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php */ package org.ralasafe.privilege; import java.util.Collection; import java.util.Locale; import org.ralasafe.EntityExistException; public interface PrivilegeManager { public abstract Privilege addPrivilege(Privilege pvlg) throws EntityExistException; public abstract void updatePrivilege(Privilege pvlg) throws EntityExistException; public abstract void deletePrivilege(int id); public abstract Privilege getPrivilege(int id); public abstract Collection getLikelyPrivileges(String name); public abstract Collection getLikelyPrivilegesByUrl(String url); public abstract Collection getAllBusinessPrivileges(); public abstract Collection getAllNonRolePrivileges(); /** * Move privilge to target, and new position is newOrderNum. * Nodes before newOrderNum keep their position, while nodes after newOrderNum should move backword(orderNum++) * * @param privilege * @param target * @param newOrderNum */ public abstract void movePrivilege(Privilege privilege, Privilege target, int newOrderNum); public abstract void deletePrivilegeCascade(int id); public abstract Privilege getParent(Privilege privilege); public abstract Collection getChildren(Privilege privilege); public abstract boolean isChild(int pId, int id); public abstract boolean isCascadeChild(int pId, int id); public abstract Privilege getBusinessPrivilegeTree(); public abstract Privilege getNonRolePrivilegeTree(); public abstract Privilege getTree(int id); public abstract void addReservedPrivilege(Locale locale); }