groupmanagerproxy.java

来自「Jive是基于JSP/JAVA技术构架的一个大型BBS论坛系统,这是Jive论坛」· Java 代码 · 共 98 行

JAVA
98
字号
/** * $RCSfile: GroupManagerProxy.java,v $ * $Revision: 1.1 $ * $Date: 2002/02/27 18:51:21 $ * * Copyright (C) 1999-2001 CoolServlets, Inc. All rights reserved. * * This software is the proprietary information of CoolServlets, Inc. * Use is subject to license terms. */package com.jivesoftware.forum;import java.util.Iterator;/** * Protection proxy for the GroupManager class. It restricts access to * protected methods by throwing UnauthorizedExceptions when necessary. * * @see GroupManager */public class GroupManagerProxy implements GroupManager {    private GroupManager groupManager;    private Authorization authorization;    private ForumPermissions permissions;    /**     * Creates a new GroupManagerProxy.     */    public GroupManagerProxy(GroupManager groupManager, Authorization            authorization, ForumPermissions permissions)    {        this.groupManager = groupManager;        this.authorization = authorization;        this.permissions = permissions;    }    public Group createGroup(String name) throws UnauthorizedException,            GroupAlreadyExistsException    {        if (permissions.get(ForumPermissions.SYSTEM_ADMIN)) {            Group group = groupManager.createGroup(name);            return new GroupProxy(group, authorization, permissions);        }        else {            throw new UnauthorizedException();        }    }    public Group getGroup(long groupID) throws GroupNotFoundException {        Group group = groupManager.getGroup(groupID);        ForumPermissions groupPermissions = group.getPermissions(authorization);        ForumPermissions newPermissions =                new ForumPermissions(permissions, groupPermissions);        return new GroupProxy(group, authorization, newPermissions);    }    public Group getGroup(String name) throws GroupNotFoundException {        Group group = groupManager.getGroup(name);        ForumPermissions groupPermissions = group.getPermissions(authorization);        ForumPermissions newPermissions =                new ForumPermissions(permissions, groupPermissions);        return new GroupProxy(group, authorization, newPermissions);    }    public void deleteGroup(Group group) throws UnauthorizedException {        if (permissions.get(ForumPermissions.SYSTEM_ADMIN)) {            groupManager.deleteGroup(group);        }        else {            throw new UnauthorizedException();        }    }    public int getGroupCount() {        return groupManager.getGroupCount();    }    public Iterator groups() {        Iterator iterator = groupManager.groups();        return new IteratorProxy(JiveGlobals.GROUP, iterator, authorization,                permissions);    }    public Iterator groups(int startIndex, int numResults) {        Iterator iterator = groupManager.groups(startIndex, numResults);        return new IteratorProxy(JiveGlobals.GROUP, iterator, authorization,                permissions);    }    public Iterator userGroups(User user) {        Iterator iterator = groupManager.userGroups(user);        return new IteratorProxy(JiveGlobals.GROUP, iterator, authorization,                permissions);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?