jive 学习笔记( 翻译)
作者: 文章来源:
发布日期:2005年01月01日 浏览次数:1次
forumfactory:访问和管理forums,是整个jive系统的入口点,一个具体的实例可以通过带一个Authorization token参数的getinstance方法得到。这个Authorization token决定了如何访问系统其他对象。
通常访问jive系统第一部:
1,通过调用AuthorizationFactory.getInstance().getAuthorization(username,password)获得一个Authorization token
2,用此Authorization来获得一个ForumFactory实例
3,用此forumfactory来访问forums和其他jive内容
用anonymous权限也可访问jive 内容。
forumfactory是一个抽象类,所以实际的实现是pluggable
例如:缺省的jive 实现用数据库,你也可以用文件系统等来实现。(实现与业务分离)
dbforumfactory是forumfactory接口的数据库实现。cacheManager是在jive里缓冲的所有对象变量的全局入口点。
userMessageCountCache:用户消息数的cache.userManager的实现考察这个cache.
实现了createForum(论坛),CreateMessage(贴子),createThread(主题)
DeleteForum:删除此Forum所有的messages和threads.禁止searchComponent所以速度会改善,
这意味着删除一个forum后必须重建index,删除此forum所有的filter、所有的permission,
最后从forumcache里删除forum,然后从forums列表中删除此forum.
forumThread:是一个forumMessages结构的容器。一个forumthread最重要的概念是一条root
message.在创建一个thread时必须提供root message.随后,所有加入到thread的消息是他的孩子。要得到一个forumthread对象的句柄,调用forum对象的getthread方法;创建一个
thread调用forumfactory.createThread(forumMessage)方法。创建一个thread后,必须将他绑定到一个forum,调用forum.addthread.删除一个forumthread,调用forum.deleteTHread.
遍历一个thread的贴子有两个办法:
1,treewalker:提供贴子的层次性视图。
2,iterator:提供消息的平面视图。当你想按贴子创建时间排序遍历时较方便。
先创建message,在创建thread,例如:
ForumMessage rootMessage=MyForum.CreateMessage();
rootMessge.setSubject("a subject");
rootMessage.setBody("A body");
ForumThread myThread=myForum.createThread(rootMessage);