📄 topictools.java
字号:
/* * 该类主要用于提供工具编辑主题 * 显示并提供所有可能用于编辑该主题的的工具,如“编辑内容”“删除主题” *“移入其他讨论区”“锁定主题”“推荐主题”等等,有些功能需要有管理权限身份的用户才 * 能显示及使用。 */package biz.tbuy.bbs.bean;import biz.tbuy.bbs.AuthTopic;import biz.tbuy.bbs.BBSGroups;import biz.tbuy.bbs.TopicBuilder;import biz.tbuy.bbs.TopicFactory;import biz.tbuy.common.Constants;import biz.tbuy.bbs.TopicModel;import javax.el.ELContext;import javax.el.ValueExpression;import javax.faces.component.UICommand;/** * @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 TopicTools extends BaseBean{ private TopicModel _topic; // 需要提供工具进行编辑操作的topic private AuthTopic _authenticator; // 当前用户相对于该topic的所有权限 private UICommand _uiMove; private UICommand _uiUpdateType; private UICommand _uiLock; private UICommand _uiBgsound; /** Creates a new instance of TopicTools */ public TopicTools() { _topic = new TopicModel(); _uiMove = new UICommand(); _uiUpdateType = new UICommand(); _uiLock = new UICommand(); _uiBgsound = new UICommand(); } public void setTopic(TopicModel topic) { _topic = topic; } public TopicModel getTopic() { return _topic; } public void setUiMove(UICommand uiMove) { _uiMove = uiMove; } public UICommand getUiMove() { _uiMove.setRendered(getAuthenticator().isTopicMove()); return _uiMove; } public void setUiUpdateType(UICommand uiUpdateType) { _uiUpdateType = uiUpdateType; } public UICommand getUiUpdateType() { _uiUpdateType.setRendered(getAuthenticator().getPower() >= BBSGroups.POWER_MASTER); return _uiUpdateType; } public void setUiLock(UICommand uiLock) { _uiLock = uiLock; } public UICommand getUiLock() { _uiLock.setRendered(getAuthenticator().isTopicLock()); return _uiLock; } public UICommand getUiBgsound() { _uiBgsound.setRendered(getAuthenticator().isTopicBgsound()); return _uiBgsound; } /** * 获取该topic的相应权限 */ private AuthTopic getAuthenticator() { if (_authenticator == null) { TopicBuilder tBuilder = TopicFactory.newBuilder(_topic); _authenticator = tBuilder.getAuthenticator(); } return _authenticator; } // -------------------------------------------------- topic tools /** * 选择“编辑内容”后绑定Bean并跳转到编辑页面topicEdit.jsp * 需要重新载入topic,否则部分属性会丢失 */ public String toEdit() { this.reload(); TopicEdit te = new TopicEdit(); te.setTopic(_topic); ValueExpression ve = this.getValueExpression("bbs_topicEdit", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, te); return Constants.OUT_SUCCESS; } /** * 选择“更改类型”后绑定Bean并跳转到编辑页面topicType.jsp * 需要重新载入topic,否则部分属性会丢失 */ public String toType() { this.reload(); TopicType te = new TopicType(); te.setTopic(_topic); ValueExpression ve = this.getValueExpression("bbs_topicType", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, te); return Constants.OUT_SUCCESS; } /** * 选择“阅读权限”后绑定Bean并跳转到编辑页面topicAuth.jsp * 需要重新载入topic,否则部分属性会丢失 */ public String toAuth() { this.reload(); TopicAuth ta = new TopicAuth(); ta.setTopic(_topic); ValueExpression ve = getValueExpression("bbs_topicAuth", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, ta); return Constants.OUT_SUCCESS; } /** * 选择“背景音乐”后绑定bean并跳转到topicBgsound.jsp * 进行背景音乐编辑 */ public String toBgsound() { this.reload(); TopicBgsound tb = new TopicBgsound(); tb.setTopic(_topic); ValueExpression ve = getValueExpression("bbs_topicBgsound", "requestScope"); ve.setValue(getELContext(), tb); return Constants.OUT_SUCCESS; } /** * 选择“移动主题”后绑定Bean并跳转到相应页面 */ public String toMove() { this.reload(); TopicMove tm = new TopicMove(); tm.setTopic(_topic); ValueExpression ve = getValueExpression("bbs_topicMove", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, tm); return Constants.OUT_SUCCESS; } /** * 选择“锁贴”后绑定Bean并跳转到编辑页面topicLock.jsp * 需要重新载入topic,否则部分属性会丢失 */ public String toLock() { this.reload(); TopicLock tl = new TopicLock(); tl.setTopic(_topic); ValueExpression ve = this.getValueExpression("bbs_topicLock", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, tl); return Constants.OUT_SUCCESS; } /** * 于页面中先择“删除主题”后将当前topic绑定于TopicRevoke的topic * 并转到topicRevoke.jsp进行删除 */ public String toRevoke() { this.reload(); TopicRevoke tr = new TopicRevoke(); tr.setTopic(_topic); ValueExpression ve = this.getValueExpression("bbs_topicRevoke", "requestScope"); ELContext elc = getELContext(); ve.setValue(elc, tr); return Constants.OUT_SUCCESS; } /** * 重新载入topic,以免属性丢失 */ public String reload() { _topic = TopicFactory.getTopic(_topic.getNum()); return Constants.OUT_SUCCESS; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -