org.alfresco.service.cmr.discussion
Interface DiscussionService

All Known Implementing Classes:
DiscussionServiceImpl

public interface DiscussionService

The Discussions service.

Since:
4.0

Method Summary
 PostInfo createPost(TopicInfo topic, java.lang.String contents)
          Creates a new PostInfo in the given topic, with the specified contents.
 PostInfo createReply(PostInfo parentPost, java.lang.String contents)
          Creates a new PostInfo which is a reply to the specified other post, with the given contents.
 TopicInfo createTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String title)
          Creates a new TopicInfo attached to the specified Node.
 TopicInfo createTopic(java.lang.String siteShortName, java.lang.String title)
          Creates a new TopicInfo in the given site
 void deletePost(PostInfo post)
          Deletes an existing PostInfo from the repository
 void deleteTopic(TopicInfo topic)
          Deletes an existing TopicInfo from the repository
 org.alfresco.query.PagingResults findTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String username, java.lang.String tag, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Searches for all topics attached to the specified Node, filtered by username or tag, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults findTopics(java.lang.String siteShortName, java.lang.String username, java.lang.String tag, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Searches for all topics in a site, filtered by username or tag, sorted by either oldest or newest topics first.
 org.alfresco.util.Pair getForNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          For a given NodeRef corresponding to either a TopicInfo or a PostInfo, returns the objects wrapping the Node.
 PostInfo getMostRecentPost(TopicInfo topic)
          Retrieves the newest (most recent) Post in a topic, be that the Primary Post or a Reply.
 PostInfo getPost(TopicInfo topic, java.lang.String postName)
          Retrieves an existing PostInfo from the repository
 PostInfo getPrimaryPost(TopicInfo topic)
          Retrieves the Primary (Root) Post in a topic, to which all replies belong.
 TopicInfo getTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String topicName)
          Retrieves an existing TopicInfo from the repository, which is attached to the specified Node.
 TopicInfo getTopic(java.lang.String siteShortName, java.lang.String linkName)
          Retrieves an existing TopicInfo from the repository, which is within a site
 org.alfresco.query.PagingResults listHotTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Date since, org.alfresco.query.PagingRequest paging)
          Finds topics which have had replies since the specified date, and returns them along with the count of replies since then.
 org.alfresco.query.PagingResults listHotTopics(java.lang.String siteShortName, java.util.Date since, org.alfresco.query.PagingRequest paging)
          Finds topics which have had replies since the specified date, and returns them along with the count of replies since then.
 PostWithReplies listPostReplies(PostInfo primaryPost, int levels)
          Retrieves all replies to a Post
 PostWithReplies listPostReplies(TopicInfo forum, int levels)
          Retrieves all replies on a Topic
 org.alfresco.query.PagingResults listPosts(TopicInfo topic, org.alfresco.query.PagingRequest paging)
          Retrieves all posts in a topic, ordered by creation date
 org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics attached to the specified Node, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Date from, java.util.Date to, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics attached to the specified Node, created in the given date range, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String username, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics attached to the specified Node, filtered by username, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics in a site, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName, java.util.Date from, java.util.Date to, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics in a site, created in the given date range, sorted by either oldest or newest topics first.
 org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName, java.lang.String username, boolean sortAscending, org.alfresco.query.PagingRequest paging)
          Retrieves all topics in a site, filtered by username, sorted by either oldest or newest topics first.
 PostInfo updatePost(PostInfo post)
          Updates an existing PostInfo in the repository.
 TopicInfo updateTopic(TopicInfo topic)
          Updates an existing TopicInfo in the repository.
 

Method Detail

createPost

@NotAuditable
PostInfo createPost(TopicInfo topic,
                                 java.lang.String contents)
Creates a new PostInfo in the given topic, with the specified contents. Normally only one post is created this way on a topic, and the remainder of the posts are created as replies to the DiscussionService.getPrimaryPost(TopicInfo) primary post.

Returns:
The newly created PostInfo

createReply

@NotAuditable
PostInfo createReply(PostInfo parentPost,
                                  java.lang.String contents)
Creates a new PostInfo which is a reply to the specified other post, with the given contents. The link between the parent post and the reply is created as part of this.

Returns:
The newly created PostInfo

createTopic

@NotAuditable
TopicInfo createTopic(java.lang.String siteShortName,
                                   java.lang.String title)
Creates a new TopicInfo in the given site


createTopic

@NotAuditable
TopicInfo createTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
                                   java.lang.String title)
Creates a new TopicInfo attached to the specified Node. The parent Node should normally either be a Site Container, or a ForumModel.TYPE_FORUM


updatePost

@NotAuditable
PostInfo updatePost(PostInfo post)
Updates an existing PostInfo in the repository.

Returns:
The updated PostInfo

updateTopic

@NotAuditable
TopicInfo updateTopic(TopicInfo topic)
Updates an existing TopicInfo in the repository.

Returns:
The updated TopicInfo

deletePost

@NotAuditable
void deletePost(PostInfo post)
Deletes an existing PostInfo from the repository


deleteTopic

@NotAuditable
void deleteTopic(TopicInfo topic)
Deletes an existing TopicInfo from the repository


getForNodeRef

@NotAuditable
org.alfresco.util.Pair getForNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
For a given NodeRef corresponding to either a TopicInfo or a PostInfo, returns the objects wrapping the Node. For a Topic, the 2nd half of the pair is null. For a Post, both halves of the pair are set. For anything else, the response is null.


getPost

@NotAuditable
PostInfo getPost(TopicInfo topic,
                              java.lang.String postName)
Retrieves an existing PostInfo from the repository


getPrimaryPost

@NotAuditable
PostInfo getPrimaryPost(TopicInfo topic)
Retrieves the Primary (Root) Post in a topic, to which all replies belong. Returns null if the topic currently has no posts


getMostRecentPost

@NotAuditable
PostInfo getMostRecentPost(TopicInfo topic)
Retrieves the newest (most recent) Post in a topic, be that the Primary Post or a Reply. This is typically used when identifying if a topic has had new posts added to it since the user last saw it. Note that this works on Created Date, and not Modified/Updated, so edits to an existing post will not change this.


getTopic

@NotAuditable
TopicInfo getTopic(java.lang.String siteShortName,
                                java.lang.String linkName)
Retrieves an existing TopicInfo from the repository, which is within a site


getTopic

@NotAuditable
TopicInfo getTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
                                java.lang.String topicName)
Retrieves an existing TopicInfo from the repository, which is attached to the specified Node. The parent Node should normally either be a Site Container, or a ForumModel.TYPE_FORUM


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, sorted by either oldest or newest topics first.


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, sorted by either oldest or newest topics first.


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
                                                         java.lang.String username,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, filtered by username, sorted by either oldest or newest topics first.


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                         java.lang.String username,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, filtered by username, sorted by either oldest or newest topics first.


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
                                                         java.util.Date from,
                                                         java.util.Date to,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, created in the given date range, sorted by either oldest or newest topics first.


listTopics

@NotAuditable
org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                         java.util.Date from,
                                                         java.util.Date to,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, created in the given date range, sorted by either oldest or newest topics first.


findTopics

@NotAuditable
org.alfresco.query.PagingResults findTopics(java.lang.String siteShortName,
                                                         java.lang.String username,
                                                         java.lang.String tag,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Searches for all topics in a site, filtered by username or tag, sorted by either oldest or newest topics first.


findTopics

@NotAuditable
org.alfresco.query.PagingResults findTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                         java.lang.String username,
                                                         java.lang.String tag,
                                                         boolean sortAscending,
                                                         org.alfresco.query.PagingRequest paging)
Searches for all topics attached to the specified Node, filtered by username or tag, sorted by either oldest or newest topics first.


listHotTopics

@NotAuditable
org.alfresco.query.PagingResults listHotTopics(java.lang.String siteShortName,
                                                            java.util.Date since,
                                                            org.alfresco.query.PagingRequest paging)
Finds topics which have had replies since the specified date, and returns them along with the count of replies since then. Primary posts are not included in this.


listHotTopics

@NotAuditable
org.alfresco.query.PagingResults listHotTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                            java.util.Date since,
                                                            org.alfresco.query.PagingRequest paging)
Finds topics which have had replies since the specified date, and returns them along with the count of replies since then. Primary posts are not included in this.


listPosts

@NotAuditable
org.alfresco.query.PagingResults listPosts(TopicInfo topic,
                                                        org.alfresco.query.PagingRequest paging)
Retrieves all posts in a topic, ordered by creation date


listPostReplies

@NotAuditable
PostWithReplies listPostReplies(TopicInfo forum,
                                             int levels)
Retrieves all replies on a Topic


listPostReplies

@NotAuditable
PostWithReplies listPostReplies(PostInfo primaryPost,
                                             int levels)
Retrieves all replies to a Post



Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.