Interface Conversation
- All Superinterfaces:
Permissions
,Taggable
- All Known Subinterfaces:
ConversationEntity
- All Known Implementing Classes:
ConversationEntityImpl
The conversation is a container where messaging and events between humans and even bots happen. A conversation
can be added in any hierarchy of the Flowable Entities (Process, Case, Document, etc) to act like a container where conversations happens.
-
Method Summary
Modifier and TypeMethodDescriptionReturns the id of the assignee of this conversation.Returns the optional avatar info, if this conversation has an avatar attached.Returns a set view of the optional list of candidate group ids of this conversation.Returns a set view of the optional list of candidate user ids of this conversation.The definition id of the conversation definition typeReturns the conversation variables when used within a conversation query with the include variables method invoked.Returns the creation timestamp of this conversation.Returns the id of the user creating this conversation.Returns the optional description for this conversation, containing the means of its discussed topics, any global notes or whatever is necessary as a global overview of the conversation.If the conversation was created from an external system, this optional external id might be used to map to that external conversation id, if necessary.The fallback that needs to be used in casegetName()
is not set.getId()
Returns the technical, unique id of this conversation.List<? extends IdentityLinkInfo>
Returns the identity links.Returns the joining type of this conversation which defines on how new participants might join the running conversation.The time when the last message of the conversation has ben sent.A conversation can have additional meta information, most likely describing the conversation behavior in more detail.getName()
Returns the optional name of this conversation, most likely representing the main topic of the conversation.Returns the id of the owner of this conversation, most likely representing the user actually creating it or being created as part of an operation that user executed.Returns the optional parent id of this conversation, if any, which represents another work item, the parent for this conversation (might be another conversation object or any other work item this conversation is attached to).Returns the permission type for this conversation which is used to drive the permissions for messages and events sent to this conversation.Returns the optional priority of this conversation which can be used for sorting or other means.The definition id of the scoped entity (for example Task Definition id, Case Definition Id, etc)An id of the scoped linked entity (for example Task, Case, etc)The type of the scoped linked entityReturns the optional resubmission time for this conversation.getState()
Returns the state of this conversation.Returns the sub type of this conversation.Returns the id of the tenant this conversation belongs to.getType()
Returns the type of this conversation.Returns the id of the user updating this conversation.Returns the timestamp of the last update of this conversation, which is the case if anything has changed in the conversation itself or if there was a message posted to this conversation.Deprecated.The ids of the user accounts that are linked with this conversation.isPinned()
Returns true, if this conversation is pinned by the current user.Returns true, if this conversation is starred by the current user.Methods inherited from interface com.flowable.engage.commons.api.Permissions
getAssignedGroupId
-
Method Details
-
getId
String getId()Returns the technical, unique id of this conversation.- Returns:
- the id of this conversation
-
getExternalId
String getExternalId()If the conversation was created from an external system, this optional external id might be used to map to that external conversation id, if necessary.- Returns:
- the optional external id of this conversation
-
getTenantId
String getTenantId()Returns the id of the tenant this conversation belongs to.- Returns:
- the tenant id
-
getParentId
String getParentId()Returns the optional parent id of this conversation, if any, which represents another work item, the parent for this conversation (might be another conversation object or any other work item this conversation is attached to).- Returns:
- the optional parent work item id
-
getReferenceId
String getReferenceId()An id of the scoped linked entity (for example Task, Case, etc)- Returns:
- the id of the scoped entity
-
getReferenceType
String getReferenceType()The type of the scoped linked entity- Returns:
- the type of the scoped linked entity
-
getReferenceDefinitionId
String getReferenceDefinitionId()The definition id of the scoped entity (for example Task Definition id, Case Definition Id, etc)- Returns:
- the definition id of the scoped entity
-
getConversationDefinitionId
String getConversationDefinitionId()The definition id of the conversation definition type- Returns:
- the definition id of the conversation definition
-
getState
String getState()Returns the state of this conversation.- Returns:
- the state of this conversation
-
getType
String getType()Returns the type of this conversation. SeeConversationTypes
.- Returns:
- the type of this conversation
-
getSubType
String getSubType()Returns the sub type of this conversation. The sub type might be used for filtering or even driving some of the behavior of the conversation, its participants and messages.- Returns:
- the sub type of this conversation
-
getPermissionType
String getPermissionType()Returns the permission type for this conversation which is used to drive the permissions for messages and events sent to this conversation.- Returns:
- the permission type for this conversation
-
getJoiningType
String getJoiningType()Returns the joining type of this conversation which defines on how new participants might join the running conversation.- Returns:
- the joining type of this conversation
-
getPriority
Integer getPriority()Returns the optional priority of this conversation which can be used for sorting or other means.- Returns:
- the priority of this conversation
-
isPinned
Boolean isPinned()Returns true, if this conversation is pinned by the current user. If there is no current user id available or the list of pinned user ids is not available, this method might returnnull
.- Returns:
true
if this conversation is pinned by the current user,false
if it is not pinned by the current user,null
if pinning for the current user cannot be determined
-
isStarred
Boolean isStarred()Returns true, if this conversation is starred by the current user. If there is no current user id available or the list of starred user ids is not available, this method might returnnull
.- Returns:
true
if this conversation is starred by the current user,false
if it is not starred by the current user,null
if starring for the current user cannot be determined
-
getName
String getName()Returns the optional name of this conversation, most likely representing the main topic of the conversation.- Returns:
- the name of this conversation, might be
null
-
getFallbackName
String getFallbackName()The fallback that needs to be used in casegetName()
is not set.- Returns:
- the fallback name that needs to be used
-
getDescription
String getDescription()Returns the optional description for this conversation, containing the means of its discussed topics, any global notes or whatever is necessary as a global overview of the conversation.- Returns:
- the optional description for this conversation
-
getAvatarId
String getAvatarId()Returns the optional avatar info, if this conversation has an avatar attached.- Returns:
- the optional avatar info
-
getCreationTime
Date getCreationTime()Returns the creation timestamp of this conversation.- Returns:
- the creation timestamp
-
getCreatorId
String getCreatorId()Returns the id of the user creating this conversation.- Returns:
- the id of the creation user
-
getUpdateTime
Date getUpdateTime()Returns the timestamp of the last update of this conversation, which is the case if anything has changed in the conversation itself or if there was a message posted to this conversation.- Returns:
- the timestamp of the last update / modification conversation or one of its messages
-
getUpdaterId
String getUpdaterId()Returns the id of the user updating this conversation.- Returns:
- the id of the updater user
-
getResubmissionTime
Date getResubmissionTime()Returns the optional resubmission time for this conversation. Resubmit a conversation means to actually hide it until a given resubmission time where it will appear again as a regular conversation.- Returns:
- the optional resubmission time of this conversation, might be null
-
getLastMessageTime
Date getLastMessageTime()The time when the last message of the conversation has ben sent.- Returns:
- the last message time of the conversation
-
getUserAccountId
Deprecated.UsegetUserAccountIds()
insteadThe id of the user account that is linked with this conversation. This would usually mean that this conversation is an external conversation for the given user account. This method is here for backwards compatibility. If the conversation is linked with more than one user account it will throw an exception.- Returns:
- the id of the user account that this conversation is linked to
-
getUserAccountIds
Collection<String> getUserAccountIds()The ids of the user accounts that are linked with this conversation. This would usually mean that this conversation is an external conversation for the given user accounts.- Returns:
- the ids of the user accounts that this conversation is linked to
-
getMetaData
A conversation can have additional meta information, most likely describing the conversation behavior in more detail. The meta data is stored as a JSON string within a single variable.- Returns:
- the optional map of meta information or
null
if this conversation does not have any meta data
-
getIdentityLinks
List<? extends IdentityLinkInfo> getIdentityLinks()Returns the identity links. -
getOwnerId
String getOwnerId()Returns the id of the owner of this conversation, most likely representing the user actually creating it or being created as part of an operation that user executed. Most likely the owner of a conversation is also given the access right to add and remove participants (depending on the permission type of the conversation).- Specified by:
getOwnerId
in interfacePermissions
- Returns:
- the id of the user being the owner of this conversation
-
getAssigneeId
String getAssigneeId()Returns the id of the assignee of this conversation. In most cases, the assignee is not explicitly used and hence optional, but for some specific permission type cases, the assignee of a conversation might be given certain permissions to handle particular aspects of a conversation.- Specified by:
getAssigneeId
in interfacePermissions
- Returns:
- the optional id of the user being the assignee of the conversation
-
getCandidateUserIds
Returns a set view of the optional list of candidate user ids of this conversation. In most cases, this list actually represents the participants of a conversation and messages / events within that conversation are sent to.- Specified by:
getCandidateUserIds
in interfacePermissions
- Returns:
- the optional list of candidate user ids attached to this conversation
-
getCandidateGroupIds
Returns a set view of the optional list of candidate group ids of this conversation. Like with the list of candidate users, all users being at least a member of one of the candidate groups will also become participants of this conversation.- Specified by:
getCandidateGroupIds
in interfacePermissions
- Returns:
- the optional list of candidate group ids attached to this conversation
-
getConversationVariables
Returns the conversation variables when used within a conversation query with the include variables method invoked. Otherwise an empty map is returned.- Returns:
- the variables linked to the conversation
-
getUserAccountIds()
instead