|
Clearspace API (1.7.0) Core Javadocs | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ForumMessage
A ForumMessage encapsulates message data. Each message belongs to a thread, and relates to other messages in a thread in a tree relationship. This system allows messages to represent threaded conversations. For example:
[thread]
|- [message]
|- [message]
|- [message]
|- [message]
|- [message]
|- [message]
Each message has a subject and body. Messages are authored by a user in the system or can be anonymous. An ID is given to each message so that it can be tracked uniquely. Because is possible that one might want to store more information with each message besides a subject and body, each message can have an arbitrary number of properties. For example, a property "IPAddress" could be stored with each message that records the IP address of the person posting the message for security reasons.
The creation date, and the date the message was last modified are maintained for each message. These values are normally maintained automatically by the system and do not need to be set explicitly except in special circumstances.
Message editing has a number of rules:
For added functionality, any number of filters can be applied to a message. Filters dynamically format the subject and body of a message. Methods are also provided to bypass filters.
ForumManager.getMessage(long),
ForumThread.getMessage(long)| Field Summary |
|---|
| Fields inherited from interface com.jivesoftware.community.JiveContentObject |
|---|
BODY_FIELD, SUBJECT_FIELD |
| Method Summary | |
|---|---|
java.lang.String |
getBody()
Returns the message body. |
Community |
getCommunity()
Returns the community this message belongs to. |
int |
getCommunityIndex()
Returns the index of this message in the community. |
java.util.Date |
getCreationDate()
Returns the date this message was created. |
ForumThread |
getForumThread()
Returns the thread this message belongs to. |
long |
getID()
Returns the id of this message, or -1 if this message hasn't been added to the database yet. |
int |
getModerationValue()
Returns the number of moderation points this message has. |
java.util.Date |
getModificationDate()
Returns the date this message was last modified. |
ForumMessage |
getParentMessage()
Returns the parent message of this message or null if this message is the root message of a thread. |
java.util.Map<java.lang.String,java.lang.String> |
getProperties()
Retrieve a map of all the extended properties for the message. |
java.lang.String |
getSubject()
Returns the message subject. |
java.lang.String |
getUnfilteredProperty(java.lang.String name)
Returns an extended property of the message, bypassing any filters. |
User |
getUser()
Returns the User that authored this message. |
boolean |
isAnonymous()
Returns true if this message was posted anonymously. |
boolean |
isAuthorized(long permissionType)
Returns true if the handle on this object has the permission specified. |
boolean |
isHtml()
Returns true if this body of this message contains HTML. |
boolean |
isRead(User user)
Returns true if this message has been read by the user, false otherwise. |
boolean |
isUnread(User user)
Returns true if this message has not been read by the user, false otherwise. |
boolean |
isUpdated(User user)
Returns true if this message has been updated since read by the user, false otherwise. |
void |
setBody(java.lang.String body)
Sets the body of this message. |
void |
setCreationDate(java.util.Date creationDate)
Sets the creation date of this message. |
void |
setModerationValue(int value,
AuthToken authToken)
Sets the number of moderation points this message has. |
void |
setModificationDate(java.util.Date modificationDate)
Sets the date this message was last modified. |
void |
setSubject(java.lang.String subject)
Sets the subject of this message. |
| Methods inherited from interface com.jivesoftware.community.JiveContentObject |
|---|
getIndexContent, getPlainBody, getPlainSubject, getUnfilteredBody, getUnfilteredSubject |
| Methods inherited from interface com.jivesoftware.community.JiveObject |
|---|
getObjectType |
| Methods inherited from interface com.jivesoftware.community.AttachmentContentResource |
|---|
createAttachment, deleteAttachment, getAttachment, getAttachmentCount, getAttachments |
| Methods inherited from interface com.jivesoftware.community.ImageContentResource |
|---|
addImage, createImage, deleteImage, getImage, getImageCount, getImages |
| Method Detail |
|---|
long getID()
getID in interface JiveObjectint getCommunityIndex()
Once a community index is assigned to a message, that value is never re-used. Therefore, there will be gaps in the community index values as messages are deleted, archived, or moved.
Community index values are primarily provided to support an NNTP-centric view of communitys, since the NNTP protocol requires article numbers (community indexes) inside a newsgroup (community).
java.util.Date getCreationDate()
getCreationDate in interface JiveContentObject
void setCreationDate(java.util.Date creationDate)
throws UnauthorizedException
creationDate - the date this message was created.
UnauthorizedException - if does not have ADMIN permissions.java.util.Date getModificationDate()
getModificationDate in interface JiveContentObject
void setModificationDate(java.util.Date modificationDate)
throws UnauthorizedException
modificationDate - the date this message was modified.
UnauthorizedException - if not allowed to edit the message.java.lang.String getSubject()
getSubject in interface JiveContentObject
void setSubject(java.lang.String subject)
throws UnauthorizedException
subject - the subject of this message.
UnauthorizedException - if not allowed to edit this message.java.lang.String getBody()
getBody in interface JiveContentObject
void setBody(java.lang.String body)
throws UnauthorizedException
body - the body of this message.
UnauthorizedException - if does not allowed to edit this message.User getUser()
getUser in interface JiveContentObjectForumMessage getParentMessage()
TreeWalker for similiar functionality.
int getModerationValue()
Community.getModerationDefaultMessageValue()
If the moderation value is less than JiveConstants.MESSAGE_MODERATION_VISIBLE
then the message will not be displayed by default.
void setModerationValue(int value,
AuthToken authToken)
throws UnauthorizedException
JiveConstants.MESSAGE_MODERATION_VISIBLE, then
a number of things will happen:When calling this method results in a message to go from below the minimum visible threshold to above, then the actions listed above will all be executed. Any change of the moderation value also results in the modified date of the message being updated.
Only administrators and moderators can call this method.
The authToken token of the user must be passed into this method as a paramater for moderation auditing purposes.
value - the number of moderation points for the message.authToken - the AuthToken token of the user that is making the
moderation decision.
UnauthorizedException - if does not have ADMIN, MODERATE_MESSAGES
or MODERATOR permissions.Gateway,
WatchManagerjava.util.Map<java.lang.String,java.lang.String> getProperties()
If the user is not authorized to modify the message any method which modifies the map will fail with a UnsupportedOperationException;
java.lang.String getUnfilteredProperty(java.lang.String name)
Because properties are not filtered before being returned, this method should be used with caution. In particular, you should avoid showing unfiltered data in an environment where embedded HTML might be interpreted.
name - the name of the property to get.
boolean isAnonymous()
ForumThread getForumThread()
Community getCommunity()
boolean isAuthorized(long permissionType)
A list of possible permissions can be found in the Permissions class. Certain methods of this class are restricted to certain permissions as specified in the method comments.
permissionType - permissionType a permission type.
Permissionsboolean isHtml()
DbForumMessage.PROP_CONTENT_TYPE
extended property being set to
DbForumMessage.TEXT_HTML.
boolean isRead(User user)
user - the user to check read stats for this message
boolean isUnread(User user)
user - the user to check read stats for this message
boolean isUpdated(User user)
user - the user to check read stats for this message
|
Clearspace Project Page | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||