@Unstable @Named(value="discussions") @Component @Singleton public class DiscussionsScriptService extends Object implements org.xwiki.script.service.ScriptService
Modifier and Type | Field and Description |
---|---|
static String |
ROLEHINT
The role hint of this component.
|
Constructor and Description |
---|
DiscussionsScriptService() |
Modifier and Type | Method and Description |
---|---|
long |
countMessagesByDiscussion(Discussion discussion)
Return the number of messages in a discussion.
|
Discussion |
createDiscussion(String title,
String description,
String mainDocument)
Creates a discussion with an URL to the main discussion view page.
|
DiscussionContext |
createDiscussionContext(String name,
String description,
String referenceType,
String entityReference)
Creates a discussion context.
|
Message |
createMessage(String content,
String syntax,
Discussion discussion)
Create a message in a discussion for the current user.
|
List<Discussion> |
findByDiscussionContexts(List<String> discussionContextReferences)
Find the discussions linked to exactly the provided list of discussion context reference.
|
<S extends org.xwiki.script.service.ScriptService> |
get(String serviceName) |
ActorDescriptor |
getActorDescriptor(String type,
String reference)
Returns an actor descriptor for the provided reference according to its type.
|
Discussion |
getDiscussion(String reference)
Retrieve a discussion by its reference.
|
Discussion |
getDiscussionByDiscussionContext(String entityType,
String entityReference)
Returns the first discussion found which is link to a discussion context with the provided entity type and entity
reference.
|
DiscussionContext |
getDiscussionContext(String reference)
Retrieve a discussion context by its reference.
|
List<Message> |
getMessagesByDiscussion(Discussion discussion,
int offset,
int limit)
Return a paginated list of messages of a discussion.
|
DiscussionContext |
getOrCreateDiscussionContext(String name,
String description,
String referenceType,
String entityReference)
Get a discussion context.
|
boolean |
hasDiscussionContext(String discussionReference,
String entityType,
String entityReference)
Checks if the provided discussion reference is linked to the request entity type and entity reference.
|
void |
linkDiscussionToDiscussionContext(Discussion discussion,
DiscussionContext discussionContext)
Links a discussion and a discussion context.
|
String |
renderMessageContent(String messageReference)
Safely renders the content of the message.
|
void |
unlinkDiscussionToDiscussionContext(Discussion discussion,
DiscussionContext discussionContext)
Unlinks a discussion and a discussion context.
|
String |
updateQueryString(Map<String,Object> parameterMap,
Map<String,Object> newParameterMap)
Update a param with newParameterMap values and returns a string representation.
|
public static final String ROLEHINT
public DiscussionContext createDiscussionContext(String name, String description, String referenceType, String entityReference)
name
- the namedescription
- the descriptionreferenceType
- the entity reference typeentityReference
- the entity referencepublic DiscussionContext getOrCreateDiscussionContext(String name, String description, String referenceType, String entityReference)
name
- the discussion context namedescription
- the discussion context descriptionreferenceType
- the entity reference typeentityReference
- the entity referencepublic Discussion createDiscussion(String title, String description, String mainDocument)
title
- the discussion titledescription
- the discussion descriptionmainDocument
- the main document to view the discussionpublic Discussion getDiscussion(String reference)
reference
- the discussion referencenull
if not foundpublic DiscussionContext getDiscussionContext(String reference)
reference
- the discussion context referencenull
if not foundpublic Message createMessage(String content, String syntax, Discussion discussion)
content
- the contentsyntax
- the syntax of the content of the messagediscussion
- the discussionpublic List<Message> getMessagesByDiscussion(Discussion discussion, int offset, int limit)
discussion
- the discussionoffset
- the offsetlimit
- the limitpublic long countMessagesByDiscussion(Discussion discussion)
discussion
- the discussionpublic String updateQueryString(Map<String,Object> parameterMap, Map<String,Object> newParameterMap)
parameterMap
- the query stringnewParameterMap
- the new parameters to overload or addpublic List<Discussion> findByDiscussionContexts(List<String> discussionContextReferences)
discussionContextReferences
- the list of discussion context referencepublic void linkDiscussionToDiscussionContext(Discussion discussion, DiscussionContext discussionContext)
discussion
- the discussiondiscussionContext
- the discussion contextpublic void unlinkDiscussionToDiscussionContext(Discussion discussion, DiscussionContext discussionContext)
discussion
- the discussiondiscussionContext
- the discussion contextpublic ActorDescriptor getActorDescriptor(String type, String reference)
type
- the type of the actorreference
- the reference of the actorActorDescriptor
, or null
in case of error during the resolutionpublic <S extends org.xwiki.script.service.ScriptService> S get(String serviceName)
S
- the type of the ScriptService
serviceName
- the name of the sub ScriptService
ScriptService
or null of none could be foundpublic String renderMessageContent(String messageReference)
messageReference
- the message referencepublic boolean hasDiscussionContext(String discussionReference, String entityType, String entityReference)
discussionReference
- a discussion referenceentityType
- an entity typeentityReference
- an entity referencetrue
if the discussion is linked to an discussion context with the required entity type and
entity reference@Unstable public Discussion getDiscussionByDiscussionContext(String entityType, String entityReference)
entityType
- the discussion context entity typeentityReference
- the discussion context entity referenceCopyright © 2004–2021 XWiki Contrib. All rights reserved.