📄 forumfactory.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class ForumFactory extends BBSFactory{ private static ForumFactory _forumFactory = new ForumFactory(); private ForumFactory() {} public static ForumFactory getInstance() { return _forumFactory; } /** * 根据给定的forumId创建一个ForumBuilder,该Builder包含当前用户相对于该forum的所 * 有权限Authenticator * @param forumId * @return forumBuilder */ public static ForumBuilder newBuilder(int forumId) { ForumModel forum = getBBSApplication().getForumsMap().get(forumId); return new ForumBuilder(forum, AuthenticatorFactory.createAuthenticator(forum)); } /** * 通过给定的forum获取其最终的auth,该方法会组合该forum及其父zone的auth权限, * (auth为null时,表示不作任何限制) * @param forum * @return auth 组合后的权限 */ public static AuthModel getFinallAuthModel(ForumModel forum) { ZoneModel zone = getBBSApplication().getZonesMap().get(forum.getByZone()); AuthModel authZone = ZoneFactory.getFinalAuthModel(zone); AuthModel authForum = ForumFactory.getAuthModel(forum); if (authZone != null && authForum != null) { AuthModel auth = new AuthModel(); auth.setBePost(authZone.getBePost() && authForum.getBePost()); auth.setBeReply(authZone.getBeReply() && authForum.getBeReply()); auth.setBeUpload(authZone.getBeUpload() && authForum.getBeUpload() && getComApplication().isUpload()); auth.setVisible(authZone.getVisible() && authForum.getVisible()); return auth; } else { return authZone != null ? authZone : authForum; } } /** * 通过给定的Forum获取其原始的AuthModel配置信息,如果该forum并未作权限设置, * 则返回null; * @param forum * @return auth or null */ public static AuthModel getAuthModel(ForumModel forum) { return getBBSApplication().getForumsAuthMap().get(forum.getNum()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -