01: /*
02: * Copyright (c) JForum Team
03: * All rights reserved.
04: *
05: * Redistribution and use in source and binary forms,
06: * with or without modification, are permitted provided
07: * that the following conditions are met:
08: *
09: * 1) Redistributions of source code must retain the above
10: * copyright notice, this list of conditions and the
11: * following disclaimer.
12: * 2) Redistributions in binary form must reproduce the
13: * above copyright notice, this list of conditions and
14: * the following disclaimer in the documentation and/or
15: * other materials provided with the distribution.
16: * 3) Neither the name of "Rafael Steil" nor
17: * the names of its contributors may be used to endorse
18: * or promote products derived from this software without
19: * specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22: * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23: * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24: * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32: * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33: * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34: * IN CONTRACT, STRICT LIABILITY, OR TORT
35: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36: * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38: *
39: * This file creation date: 19/03/2004 - 18:41:50
40: * The JForum Project
41: * http://www.jforum.net
42: */
43: package net.jforum.dao;
44:
45: import net.jforum.entities.User;
46: import net.jforum.security.Role;
47: import net.jforum.security.RoleCollection;
48: import net.jforum.security.RoleValueCollection;
49:
50: /**
51: * @author Rafael Steil
52: * @version $Id: GroupSecurityDAO.java,v 1.2 2007/08/24 23:11:35 rafaelsteil Exp $
53: */
54: public interface GroupSecurityDAO {
55: /**
56: * Deletes all roles related to a forum
57: * @param forumId
58: */
59: public void deleteForumRoles(int forumId);
60:
61: /**
62: * Delete all roles from a specific group
63: * @param groupId ID of the group
64: **/
65: public void deleteAllRoles(int groupId);
66:
67: /**
68: * Adds a new role
69: * @param groupId Group id the role should be associated
70: * */
71: public void addRole(int groupId, Role role);
72:
73: /**
74: * @param id
75: * @param role
76: * @param rvc
77: */
78: public void addRoleValue(int id, Role role, RoleValueCollection rvc);
79:
80: /**
81: * @param id
82: * @param roleName
83: * @param roleValues
84: */
85: public void addRole(int id, Role role,
86: RoleValueCollection roleValues);
87:
88: /**
89: * @param groupId int
90: * @return RoleCollection
91: */
92: public RoleCollection loadRoles(int groupId);
93:
94: public RoleCollection loadRolesByUserGroups(User user);
95: }
|