Class Comment
java.lang.Object
org.ametys.cms.repository.comment.Comment
- All Implemented Interfaces:
ReactionableObject
,ReportableObject
A comment on a commentable content
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.ametys.cms.repository.ReactionableObject
ReactionableObject.ReactionType
-
Field Summary
Modifier and TypeFieldDescriptionprotected ModifiableModelLessComposite
The node of the commentprotected ModifiableModelLessDataHolder
The content to commentprotected String
The id of the comment (unique in the content)static final String
Constants for the separatorstatic final String
Constants for author email Metadatastatic final String
Constants for author email hidden Metadatastatic final String
Constants for author name Metadatastatic final String
Constants for author url Metadatastatic final String
Constants for the content Metadatastatic final String
Constants for creation Metadatastatic final String
Constants for the is deleted status Metadatastatic final String
Constants for the is edited status Metadatastatic final String
Constants for the validated status Metadatastatic final String
Constants for comments Metadat*static final String
Constants for comments Metadata validatedstatic final String
Constants for comments Metadata not validted -
Constructor Summary
ConstructorDescriptionCreates a new sub comment of the commentComment
(Comment comment, String commentId, ZonedDateTime creationDate) Creates a new sub comment of the comment, with the given id and creation date This method allow to create a sub comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted.Comment
(ModifiableModelLessDataHolder contentUnversionedDataHolder) Creates a new comment on the contentComment
(ModifiableModelLessDataHolder contentUnversionedDataHolder, String commentId) Retrieves a comment by its idComment
(ModifiableModelLessDataHolder contentUnversionedDataHolder, String commentId, ZonedDateTime creationDate) Creates a new comment on the content, with the given id and creation date This method allow to create a comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addReaction
(UserIdentity user, ReactionableObject.ReactionType reactionType) Add the user reactionvoid
Add a report to the objectvoid
Remove all reports on the objectCreate sub comment from this commentcreateSubComment
(String commentId, ZonedDateTime creationDate) Creates a sub comment from this comment, with the given id and creation date This method allow to create a sub comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted.Get the email of the author.Get the readable name of the author.Get the url given by the author as its personal site url.static Comment
getComment
(ModifiableModelLessDataHolder contentUnversionedDataHolder, String commentId) Get a commentprotected String
getCommentDataPath
(String commentId) Retrieves the path of the comment with the given identifiergetComments
(Comment parentComment, boolean includeNotValidatedComments, boolean includeValidatedComments) Get the comments of a contentgetComments
(Comment parentComment, boolean includeNotValidatedComments, boolean includeValidatedComments, boolean withSubComment) Get the comments of a contentgetComments
(ModifiableModelLessDataHolder contentUnversionedDataHolder, boolean includeNotValidatedComments, boolean includeValidatedComments) Get the comments of a contentgetComments
(ModifiableModelLessDataHolder contentUnversionedDataHolder, boolean includeNotValidatedComments, boolean includeValidatedComments, boolean isRecursive) Get the comments of a contentGet the content of the comment.Get the date and time the comment was createdgetId()
The comment id (unique to the content)getReactionUsers
(ReactionableObject.ReactionType reactionType) Get the list of users who reactlong
Retrieves the number of reports on the objectRetrieves the repository data of theComment
getSubComment
(boolean includeNotValidatedComments, boolean includeValidatedComments) Get sub comments of the commentboolean
Does the comment is deletedboolean
isEdited()
Does the comment is editedboolean
Does the email of the authors have to be hidden ?boolean
Is the comment validatedvoid
remove()
Remove the comment.void
removeReaction
(UserIdentity user, ReactionableObject.ReactionType reactionType) Remove the user reactionvoid
setAuthorEmail
(String email) Set the email of the author.void
setAuthorName
(String name) Set the readable name of the author.void
setAuthorURL
(String url) Set the personal site url of the authorvoid
setContent
(String content) Set the content of the comment.void
setDeleted
(boolean isEdited) Set the comment to deleted.void
setEdited
(boolean isEdited) Set the comment to edited.void
setEmailHiddenStatus
(boolean hideEmail) Set the email hidden status.void
setReportsCount
(long reportsCount) Sets the number of reports on the objectvoid
setValidated
(boolean validated) Set the validation status of the commentprotected void
update()
Update the comment tag statistics
-
Field Details
-
METADATA_COMMENTS
Constants for comments Metadat*- See Also:
-
METADATA_COMMENTS_VALIDATED
Constants for comments Metadata not validted- See Also:
-
METADATA_COMMENTS_NOTVALIDATED
Constants for comments Metadata validated- See Also:
-
METADATA_COMMENT_CREATIONDATE
Constants for creation Metadata- See Also:
-
METADATA_COMMENT_AUTHORNAME
Constants for author name Metadata- See Also:
-
METADATA_COMMENT_AUTHOREMAIL
Constants for author email Metadata- See Also:
-
METADATA_COMMENT_AUTHOREMAIL_HIDDEN
Constants for author email hidden Metadata- See Also:
-
METADATA_COMMENT_AUTHORURL
Constants for author url Metadata- See Also:
-
METADATA_COMMENT_CONTENT
Constants for the content Metadata- See Also:
-
METADATA_COMMENT_VALIDATED
Constants for the validated status Metadata- See Also:
-
METADATA_COMMENT_IS_EDITED
Constants for the is edited status Metadata- See Also:
-
METADATA_COMMENT_IS_DELETED
Constants for the is deleted status Metadata- See Also:
-
ID_SEPARATOR
Constants for the separator- See Also:
-
_contentDataHolder
The content to comment -
_commentComposite
The node of the comment -
_id
The id of the comment (unique in the content)
-
-
Constructor Details
-
Comment
Retrieves a comment by its id- Parameters:
contentUnversionedDataHolder
- The unversioned data holder of the content hosting the commentcommentId
- The id of the comment to retrieve- Throws:
AmetysRepositoryException
- if an error occurred
-
Comment
Creates a new comment on the content- Parameters:
contentUnversionedDataHolder
- The unversioned data holder of the content where to add the new comment
-
Comment
public Comment(ModifiableModelLessDataHolder contentUnversionedDataHolder, String commentId, ZonedDateTime creationDate) Creates a new comment on the content, with the given id and creation date This method allow to create a comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted. Be careful using this method- Parameters:
contentUnversionedDataHolder
- The unversioned data holder of the content where to add the new commentcommentId
- the comment's idcreationDate
- the comment's creation date
-
Comment
Creates a new sub comment of the comment- Parameters:
comment
- The parent comment
-
Comment
Creates a new sub comment of the comment, with the given id and creation date This method allow to create a sub comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted. Be careful using this method- Parameters:
comment
- The parent commentcommentId
- the sub comment's idcreationDate
- the sub comment's creation date
-
-
Method Details
-
getCommentDataPath
Retrieves the path of the comment with the given identifier- Parameters:
commentId
- the comment identifier- Returns:
- the path of the comment
-
getRepositoryData
Retrieves the repository data of theComment
- Returns:
- the repository data of the
Comment
-
getId
The comment id (unique to the content)- Returns:
- The id. Cannot be null.
-
getCreationDate
Get the date and time the comment was created- Returns:
- The non null date of creation of the comment.
-
getAuthorName
Get the readable name of the author.- Returns:
- The full name. Can be null.
-
setAuthorName
Set the readable name of the author.- Parameters:
name
- The full name. Can be null to remove the name.
-
getAuthorEmail
Get the email of the author.- Returns:
- The ameil. Can be null.
-
setAuthorEmail
Set the email of the author.- Parameters:
email
- The email. Can be null to remove the email.
-
getAuthorURL
Get the url given by the author as its personal site url.- Returns:
- The url. Can be null.
-
setAuthorURL
Set the personal site url of the author- Parameters:
url
- The url. Can be null to remove url.
-
isEmailHidden
Does the email of the authors have to be hidden ?- Returns:
- true (default value) if the email does not have to appears to others users. Can still be used for administration.
-
setEmailHiddenStatus
Set the email hidden status.- Parameters:
hideEmail
- true to set the email as hidden.
-
isEdited
Does the comment is edited- Returns:
- true the email is edited
-
setEdited
Set the comment to edited.- Parameters:
isEdited
- true to set the comment to edited.
-
isDeleted
Does the comment is deleted- Returns:
- true the comment is deleted
-
setDeleted
Set the comment to deleted.- Parameters:
isEdited
- true to set the comment to deleted.
-
getContent
Get the content of the comment. A simple String (with \n or \t).- Returns:
- The content. Can be null.
-
setContent
Set the content of the comment.- Parameters:
content
- The content to set. Can be null to remove the content. Have to be a simple String (with \n or \t).
-
isValidated
Is the comment validated- Returns:
- the status of validation of the comment
-
setValidated
Set the validation status of the comment- Parameters:
validated
- true the comment is validated
-
addReport
Description copied from interface:ReportableObject
Add a report to the object- Specified by:
addReport
in interfaceReportableObject
-
setReportsCount
Description copied from interface:ReportableObject
Sets the number of reports on the object- Specified by:
setReportsCount
in interfaceReportableObject
- Parameters:
reportsCount
- the number of reports to set
-
clearReports
Description copied from interface:ReportableObject
Remove all reports on the object- Specified by:
clearReports
in interfaceReportableObject
-
getReportsCount
Description copied from interface:ReportableObject
Retrieves the number of reports on the object- Specified by:
getReportsCount
in interfaceReportableObject
- Returns:
- the number of reports
-
remove
Remove the comment. -
getSubComment
public List<Comment> getSubComment(boolean includeNotValidatedComments, boolean includeValidatedComments) Get sub comments of the comment- Parameters:
includeNotValidatedComments
- True to include the comments that are not validatedincludeValidatedComments
- True to include the comments that are validated- Returns:
- the list of comments
-
createSubComment
Create sub comment from this comment- Returns:
- the sub comment
-
createSubComment
Creates a sub comment from this comment, with the given id and creation date This method allow to create a sub comment from existing data (ex: data import from archive) The id is not generated here, the source is trusted. Be careful using this method- Parameters:
commentId
- the comment's idcreationDate
- the comment's creation date- Returns:
- the new comment
-
update
Update the comment tag statistics -
getComment
public static Comment getComment(ModifiableModelLessDataHolder contentUnversionedDataHolder, String commentId) throws AmetysRepositoryException Get a comment- Parameters:
contentUnversionedDataHolder
- the content data holdercommentId
- The comment identifier- Returns:
- The comment
- Throws:
AmetysRepositoryException
- if the comment does not exist
-
getComments
public static List<Comment> getComments(Comment parentComment, boolean includeNotValidatedComments, boolean includeValidatedComments) throws AmetysRepositoryException Get the comments of a content- Parameters:
parentComment
- The parent commentincludeNotValidatedComments
- True to include the comments that are not validatedincludeValidatedComments
- True to include the comments that are validated- Returns:
- the list of comments
- Throws:
AmetysRepositoryException
- If an error occurred
-
getComments
public static List<Comment> getComments(Comment parentComment, boolean includeNotValidatedComments, boolean includeValidatedComments, boolean withSubComment) throws AmetysRepositoryException Get the comments of a content- Parameters:
parentComment
- The parent commentincludeNotValidatedComments
- True to include the comments that are not validatedincludeValidatedComments
- True to include the comments that are validatedwithSubComment
- true if we want to get all child comments- Returns:
- the list of comments
- Throws:
AmetysRepositoryException
- If an error occurred
-
getComments
public static List<Comment> getComments(ModifiableModelLessDataHolder contentUnversionedDataHolder, boolean includeNotValidatedComments, boolean includeValidatedComments) throws AmetysRepositoryException Get the comments of a content- Parameters:
contentUnversionedDataHolder
- The content unversioned data holderincludeNotValidatedComments
- True to include the comments that are not validatedincludeValidatedComments
- True to include the comments that are validated- Returns:
- the list of comments
- Throws:
AmetysRepositoryException
- If an error occurred
-
getComments
public static List<Comment> getComments(ModifiableModelLessDataHolder contentUnversionedDataHolder, boolean includeNotValidatedComments, boolean includeValidatedComments, boolean isRecursive) throws AmetysRepositoryException Get the comments of a content- Parameters:
contentUnversionedDataHolder
- The content unversioned metadata holderincludeNotValidatedComments
- True to include the comments that are not validatedincludeValidatedComments
- True to include the comments that are validatedisRecursive
- true if we want to have sub comments- Returns:
- the list of comments
- Throws:
AmetysRepositoryException
- If an error occurred
-
addReaction
Description copied from interface:ReactionableObject
Add the user reaction- Specified by:
addReaction
in interfaceReactionableObject
- Parameters:
user
- the userreactionType
- the reaction type
-
removeReaction
Description copied from interface:ReactionableObject
Remove the user reaction- Specified by:
removeReaction
in interfaceReactionableObject
- Parameters:
user
- the userreactionType
- the reaction type
-
getReactionUsers
Description copied from interface:ReactionableObject
Get the list of users who react- Specified by:
getReactionUsers
in interfaceReactionableObject
- Parameters:
reactionType
- the reaction type- Returns:
- the list of users
-