Interface Conversation

All Superinterfaces:
Permissions, Taggable
All Known Subinterfaces:
ConversationEntity
All Known Implementing Classes:
ConversationEntityImpl

public interface Conversation extends Permissions, Taggable
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 Type
    Method
    Description
    Returns 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 type
    Returns 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 case getName() is not set.
    Returns the technical, unique id of this conversation.
    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.
    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 entity
    Returns the optional resubmission time for this conversation.
    Returns the state of this conversation.
    Returns the sub type of this conversation.
    Returns the id of the tenant this conversation belongs to.
    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.
    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

    Methods inherited from interface com.flowable.engage.commons.api.Taggable

    getTags
  • 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. See ConversationTypes.
      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 return null.
      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 return null.
      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 case getName() 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 String getUserAccountId()
      Deprecated.
      The 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

      Map<String,Object> 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 interface Permissions
      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 interface Permissions
      Returns:
      the optional id of the user being the assignee of the conversation
    • getCandidateUserIds

      Set<String> 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 interface Permissions
      Returns:
      the optional list of candidate user ids attached to this conversation
    • getCandidateGroupIds

      Set<String> 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 interface Permissions
      Returns:
      the optional list of candidate group ids attached to this conversation
    • getConversationVariables

      Map<String,Object> 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