@AlfrescoPublicApi
public interface RatingService
rating schemes
which are injected via spring (see rating-services-context.xml
). The rating
schemes define a minimum and a maximum score value for that scheme.
Ratings can be applied
,
updated
and
removed
.Modifier and Type | Method and Description |
---|---|
void |
applyRating(org.alfresco.service.cmr.repository.NodeRef targetNode,
float rating,
String ratingSchemeName)
This method applies the given rating to the specified target node.
|
float |
getAverageRating(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName)
This method returns the average (mean) rating in the specified scheme for the
specified nodeRef.
|
Rating |
getRatingByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName)
This method gets the
Rating applied by the current user to the specified node in the specified
RatingScheme - if there is one. |
Serializable |
getRatingRollup(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName,
String ratingRollupName)
This method returns a 'rolled up' property value for the specified targetNode.
|
List<Rating> |
getRatingsByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode)
This method gets the
ratings applied by the current user to the specified node. |
RatingScheme |
getRatingScheme(String ratingSchemeName)
Returns the named
rating scheme if there is one. |
Map<String,RatingScheme> |
getRatingSchemes()
Returns the available
rating schemes keyed by name. |
int |
getRatingsCount(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName)
This method gets the number of individual ratings which have been applied to
the specified node in the specified
RatingScheme . |
float |
getTotalRating(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName)
This method gets the total accumulated rating score for
the specified node in the specified
RatingScheme . |
Rating |
removeRatingByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode,
String ratingSchemeName)
This method removes any
Rating applied by the current user to the specified node in the specified
RatingScheme . |
@NotAuditable Map<String,RatingScheme> getRatingSchemes()
rating schemes
keyed by name.rating schemes
.@NotAuditable RatingScheme getRatingScheme(String ratingSchemeName)
rating scheme
if there is one.ratingSchemeName
- name of the rating scheme.rating schemes
if one of that name is registered,
else null
.@NotAuditable void applyRating(org.alfresco.service.cmr.repository.NodeRef targetNode, float rating, String ratingSchemeName) throws RatingServiceException
targetNode
- the node to which the rating is to be applied.rating
- the rating which is to be applied.ratingSchemeName
- the name of the rating scheme to use.RatingServiceException
- if the rating is not within the range defined by the named scheme
or if the named scheme is not registered.getRatingSchemes()
,
RatingScheme
@NotAuditable int getRatingsCount(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName)
RatingScheme
.targetNode
- the node on which the rating is sought.ratingSchemeName
- the rating scheme name to use.getRatingSchemes()
,
RatingScheme
@NotAuditable float getTotalRating(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName)
RatingScheme
.
That is, the rating scores for all users for the specified
node are summed to give the result.targetNode
- the node on which the rating total is sought.ratingSchemeName
- the rating scheme name to use.getRatingSchemes()
,
RatingScheme
@NotAuditable float getAverageRating(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName)
targetNode
- the node for which an average is sought.ratingSchemeName
- the rating scheme name in which the average is defined.@NotAuditable Rating getRatingByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName)
Rating
applied by the current user to the specified node in the specified
RatingScheme
- if there is one.targetNode
- the node on which the rating is sought.ratingSchemeName
- the rating scheme name to use.null
.getRatingSchemes()
,
RatingScheme
@NotAuditable List<Rating> getRatingsByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode)
ratings
applied by the current user to the specified node.targetNode
- the node on which the ratings are sought.Collections.emptyList()
.getRatingSchemes()
,
RatingScheme
@NotAuditable Rating removeRatingByCurrentUser(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName)
Rating
applied by the current user to the specified node in the specified
RatingScheme
.targetNode
- the node from which the rating is to be removed.ratingSchemeName
- the rating scheme name to use.null
.getRatingSchemes()
,
RatingScheme
@NotAuditable Serializable getRatingRollup(org.alfresco.service.cmr.repository.NodeRef targetNode, String ratingSchemeName, String ratingRollupName)
cm:rating
child nodes.
An example of such a roll up would be 'ratingTotal' which would be the sum of all ratings applied to the
targetNode in the specified rating scheme.
By rolling up property values from the various cm:rating
child nodes and persisting them
as individual properties on the cm:rateable
node itself, we are able to support indexing, searching
and sorting of such properties.targetNode
- the rated node whose rolled up property we wish to read.ratingSchemeName
- the rating scheme name in which the property is relevant.ratingRollupName
- the name of the rating rollup property, as given in AbstractRatingRollupAlgorithm.getRollupName()
.Copyright © 2005–2017 Alfresco Software. All rights reserved.