📄 usermanagerproxy.java
字号:
/**
* $RCSfile: UserManagerProxy.java,v $
* $Revision: 1.1.1.1 $
* $Date: 2002/09/09 13:50:47 $
*
* New Jive from Jdon.com.
*
* This software is the proprietary information of CoolServlets, Inc.
* Use is subject to license terms.
*/
package com.airinbox.member.forum;
import java.util.Iterator;
import com.airinbox.component.authorize.Authorization;
import com.airinbox.component.authorize.UnauthorizedException;
/**
* Protection proxy for the UserManager class. It restricts access to
* protected methods by throwing UnauthorizedExceptions when necessary.
*
* @see UserManager
*/
public class UserManagerProxy implements UserManager {
private UserManager userManager;
private Authorization authorization;
private ForumPermissions permissions;
/**
* Creates a new UserManagerProxy.
*/
public UserManagerProxy(UserManager userManager, Authorization
authorization, ForumPermissions permissions)
{
this.userManager = userManager;
this.authorization = authorization;
this.permissions = permissions;
}
public com.airinbox.component.authorize.User getOriginalUser(long userid) {
return userManager.getOriginalUser(userid);
}
public com.airinbox.component.authorize.User getOriginalUser(String username) {
return userManager.getOriginalUser(username);
}
public User getUser(long userID) throws UserNotFoundException {
User user = userManager.getUser(userID);
ForumPermissions userPermissions = user.getPermissions(authorization);
ForumPermissions newPermissions =
new ForumPermissions(permissions, userPermissions);
return new UserProxy(user, authorization, newPermissions);
}
public User getUser(String username) throws UserNotFoundException {
User user = userManager.getUser(username);
ForumPermissions userPermissions = user.getPermissions(authorization);
ForumPermissions newPermissions =
new ForumPermissions(permissions, userPermissions);
return new UserProxy(user, authorization, newPermissions);
}
public void deleteUser(User user) throws UnauthorizedException {
if (permissions.get(ForumPermissions.SYSTEM_ADMIN)) {
userManager.deleteUser(user);
}
else {
throw new UnauthorizedException();
}
}
public int getUserCount() {
return userManager.getUserCount();
}
public Iterator users() {
Iterator iterator = userManager.users();
return new IteratorProxy(Globals.USER, iterator, authorization,
permissions);
}
public Iterator users(int startIndex, int numResults) {
Iterator iterator = userManager.users(startIndex, numResults);
return new IteratorProxy(Globals.USER, iterator, authorization,
permissions);
}
public int userMessageCount(User user) {
return userManager.userMessageCount(user);
}
public Iterator userMessages(User user,int start, int count) {
Iterator iterator = userManager.userMessages(user,start,count);
return new IteratorProxy(Globals.MESSAGE, iterator, authorization,
permissions);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -