Class FindConversationParticipantsCmd

java.lang.Object
com.flowable.engage.engine.impl.cmd.FindConversationParticipantsCmd
All Implemented Interfaces:
org.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>

public class FindConversationParticipantsCmd
extends java.lang.Object
implements org.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>
Resolves the participants of a conversation with options whether to only include directly assigned users or users assigned over member groups (like candidate groups or assigned group).
Author:
Micha Kiener, Filip Hrisafov
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.lang.String conversationId  
    protected java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities  
    protected boolean includeGroupBasedParticipants  
    protected boolean includeUserBasedParticipants  
  • Constructor Summary

    Constructors 
    Constructor Description
    FindConversationParticipantsCmd​(java.lang.String conversationId)  
    FindConversationParticipantsCmd​(java.lang.String conversationId, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
    Creates a new command to find participants with options to resolve indirect users over group memberships.
    FindConversationParticipantsCmd​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities)  
    FindConversationParticipantsCmd​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
    Creates a new command to find participants with options to resolve indirect users over group memberships.
  • Method Summary

    Modifier and Type Method Description
    java.util.Collection<java.lang.String> execute​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext)  
    protected java.util.Collection<java.lang.String> getAllGroupsUsers​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)  
    protected java.util.Collection<java.lang.String> getAllUsers​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)  
    protected java.util.Collection<java.lang.String> resolveGroupMembers​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.Collection<java.lang.String> groups)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • FindConversationParticipantsCmd

      public FindConversationParticipantsCmd​(java.lang.String conversationId)
    • FindConversationParticipantsCmd

      public FindConversationParticipantsCmd​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities)
    • FindConversationParticipantsCmd

      public FindConversationParticipantsCmd​(java.lang.String conversationId, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
      Creates a new command to find participants with options to resolve indirect users over group memberships.
      Parameters:
      conversationId - the id of the conversation to find participants
      includeUserBasedParticipants - true if all directly assigned users should be returned as well
      includeGroupBasedParticipants - true if all group members of the assigned groups of the conversation should be resolved as well
    • FindConversationParticipantsCmd

      public FindConversationParticipantsCmd​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
      Creates a new command to find participants with options to resolve indirect users over group memberships.
      Parameters:
      conversationIdentities - the list of conversation identities
      includeUserBasedParticipants - true if all directly assigned users should be returned as well
      includeGroupBasedParticipants - true if all group members of the assigned groups of the conversation should be resolved as well
  • Method Details

    • execute

      public java.util.Collection<java.lang.String> execute​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext)
      Specified by:
      execute in interface org.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>
    • getAllUsers

      protected java.util.Collection<java.lang.String> getAllUsers​(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)
    • getAllGroupsUsers

      protected java.util.Collection<java.lang.String> getAllGroupsUsers​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)
    • resolveGroupMembers

      protected java.util.Collection<java.lang.String> resolveGroupMembers​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.Collection<java.lang.String> groups)