com.silverpeas.comment.dao
Interface CommentDAO

All Known Implementing Classes:
JDBCCommentDAO

public interface CommentDAO

A Data Access Object that provides an access to Comment objects persisted within a data source. The way the data source is accessed and the nature of the data source are wrapped by the implementation of this interface. For each provided methods, if an error occurs a CommentRuntimeException is thrown.


Method Summary
 List<Comment> getAllCommentsByForeignKey(String resourceType, ForeignPK pk)
          Gets all the comments of the publication identified by the resource type and the specified foreign key.
 List<CommentedPublicationInfo> getAllMostCommentedPublications()
          Among all available commented publications, gets the most commented ones.
 Comment getComment(CommentPK pk)
          Gets the comment identified by the specified primary key.
 int getCommentsCountByForeignKey(String resourceType, ForeignPK pk)
          Gets the number of comments on the publication identified by the resource type and the specified foreign key.
 List<Comment> getLastComments(String instanceId, int count)
          Gets the last comments posted to the publications in the specified component instance.
 List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType)
          Among all available commented publications of the specified type, gets the moste commented ones.
 List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType, List<? extends WAPrimaryKey> pks)
          Among all the publications identified by the resource type and the specified primary keys, gets the most commented ones.
 List<SocialInformationComment> getSocialInformationCommentsListByUserId(List<String> resourceTypes, String userId, Period period)
          Get the list of SocialInformationComment added by userId in a period
 List<SocialInformationComment> getSocialInformationCommentsListOfMyContacts(List<String> resourceTypes, List<String> myContactsIds, List<String> instanceIds, Period period)
          Gets the list of SocialInformationComment added by myContactsIds in a period
 void moveComments(String resourceType, ForeignPK fromPK, ForeignPK toPK)
          Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second specified foreign key.
 void moveComments(String fromResourceType, ForeignPK fromPK, String toResourceType, ForeignPK toPK)
          Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second resource type and specified foreign key.
 void removeAllCommentsByForeignPk(String resourceType, ForeignPK pk)
          Deletes all the comments on the publication identified by the resource type and the specified foreign key.
 void removeComment(CommentPK pk)
          Deletes the comment identified by the specified primary key
 CommentPK saveComment(Comment cmt)
          Saves the specified comment into the underlying data source.
 void updateComment(Comment cmt)
          Updates the comment in the data source identified by the specified one with the values carried by the specified comment.
 

Method Detail

saveComment

CommentPK saveComment(Comment cmt)
Saves the specified comment into the underlying data source.

Parameters:
cmt - the comment to save.
Returns:
the primary key of the comment in the data source.

removeAllCommentsByForeignPk

void removeAllCommentsByForeignPk(String resourceType,
                                  ForeignPK pk)
Deletes all the comments on the publication identified by the resource type and the specified foreign key.

Parameters:
resourceType - type of the commented publication.
pk - the foreign key refering the publication in the data source

removeComment

void removeComment(CommentPK pk)
Deletes the comment identified by the specified primary key

Parameters:
pk -

getAllCommentsByForeignKey

List<Comment> getAllCommentsByForeignKey(String resourceType,
                                         ForeignPK pk)
Gets all the comments of the publication identified by the resource type and the specified foreign key.

Parameters:
resourceType - type of the commented publication.
pk - the foreign key refering the publication in the data source.
Returns:
a list with all of the publication comments. If the publication isn't commented, then an empty list is returned.

getComment

Comment getComment(CommentPK pk)
Gets the comment identified by the specified primary key. If no comment exist with a such primary key, then a CommentRuntimeException is thrown.

Parameters:
pk - the primary key of the comment to get.
Returns:
the comment.

getCommentsCountByForeignKey

int getCommentsCountByForeignKey(String resourceType,
                                 ForeignPK pk)
Gets the number of comments on the publication identified by the resource type and the specified foreign key.

Parameters:
resourceType - type of the commented publication.
pk - the foreign key refering the publication.
Returns:
the number of the publication comments.

getMostCommentedPublications

List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType,
                                                            List<? extends WAPrimaryKey> pks)
Among all the publications identified by the resource type and the specified primary keys, gets the most commented ones.

Parameters:
resourceType - type of the commented publication.
pks - a list of primary keys refering some publications.
Returns:
a list of information about the most commented publication (publication primary key, number of comments, and so on).

getMostCommentedPublications

List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType)
Among all available commented publications of the specified type, gets the moste commented ones.

Parameters:
resourceType - the type of the publication.
Returns:
a list of information about the most commented publication sorted in descendent order.

getAllMostCommentedPublications

List<CommentedPublicationInfo> getAllMostCommentedPublications()
Among all available commented publications, gets the most commented ones.

Returns:
a list of information about the most commented publication (publication primary key, number of comments, and so on).

moveComments

void moveComments(String resourceType,
                  ForeignPK fromPK,
                  ForeignPK toPK)
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second specified foreign key.

Parameters:
resourceType - type of source and destination publication.
fromPK - the foreign key refering the source publication.
toPK - the foreign key refering the destination publication.

moveComments

void moveComments(String fromResourceType,
                  ForeignPK fromPK,
                  String toResourceType,
                  ForeignPK toPK)
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second resource type and specified foreign key.

Parameters:
fromResourceType - source type the source publication.
fromPK - the foreign key refering the source publication.
toResourceType - type of the destination publication.
toPK - the foreign key refering the destination publication.

updateComment

void updateComment(Comment cmt)
Updates the comment in the data source identified by the specified one with the values carried by the specified comment.

Parameters:
cmt - the comment to update in the data source.

getLastComments

List<Comment> getLastComments(String instanceId,
                              int count)
Gets the last comments posted to the publications in the specified component instance.

Parameters:
instanceId - the unique identifier of the component instance.
count - the maximum number of comments to fetch. Lesser or equal to 0 means no limit.
Returns:
a list of the last comments.

getSocialInformationCommentsListByUserId

List<SocialInformationComment> getSocialInformationCommentsListByUserId(List<String> resourceTypes,
                                                                        String userId,
                                                                        Period period)
Get the list of SocialInformationComment added by userId in a period

Parameters:
resourceTypes - the aimed resources types.
userId - the author of comments.
period - the period into which the comment has been created or modified.
Returns:
List of SocialInformation

getSocialInformationCommentsListOfMyContacts

List<SocialInformationComment> getSocialInformationCommentsListOfMyContacts(List<String> resourceTypes,
                                                                            List<String> myContactsIds,
                                                                            List<String> instanceIds,
                                                                            Period period)
Gets the list of SocialInformationComment added by myContactsIds in a period

Parameters:
resourceTypes - the aimed resources types.
myContactsIds - the aimed user identifiers of contacts.
instanceIds - the aimed identifiers of component instances.
period - the period into which the comment has been created or modified.
Returns:
List of SocialInformation


Copyright © 2016 Silverpeas. All Rights Reserved.