Class FormRecordChat

java.lang.Object
de.xima.cmn.dao.model.AEntity<Long>
All Implemented Interfaces:
de.xima.cmn.dao.interfaces.IEntity<Long>, de.xima.cmn.dao.interfaces.ILockableEntity<Long>, ILockingVersionProviding, ITransferable, ITransferableEntity, ITransferableLockableEntity, IUUIDEntity, Serializable, Comparable<de.xima.cmn.dao.interfaces.IEntity<Long>>

@Entity public class FormRecordChat extends AbstractLockableEntity implements IUUIDEntity
Entity representing a form record scoped chat. The chat belongs to a specific form record and can receive messages.
Since:
8.2.0
Author:
XIMA MEDIA GmbH
See Also:
  • Field Details

  • Constructor Details

    • FormRecordChat

      public FormRecordChat()
  • Method Details

    • getId

      public Long getId()
      Specified by:
      getId in interface de.xima.cmn.dao.interfaces.IEntity<Long>
    • getUUID

      public String getUUID()
      Gets the UUID of this chat. The UUID must be globally unique among all form records and all clients.
      Specified by:
      getUUID in interface IUUIDEntity
      Returns:
      The UUID of this chat.
    • setUUID

      public void setUUID(String uuid)
      Sets the UUID of this chat. The UUID must be globally unique among all form records and all clients.
      Specified by:
      setUUID in interface IUUIDEntity
      Parameters:
      uuid - The UUID of this chat.
    • getUUIDObject

      public UUID getUUIDObject()
      Gets the UUID of this chat. The UUID must be globally unique among all form records and all clients.
      Specified by:
      getUUIDObject in interface IUUIDEntity
      Returns:
      The UUID of this chat.
    • setUUIDObject

      public void setUUIDObject(UUID uuid)
      Sets the UUID of this chat. The UUID must be globally unique among all form records and all clients.
      Parameters:
      uuid - The UUID of this chat.
    • getFormRecord

      public Vorgang getFormRecord()
    • setFormRecord

      public void setFormRecord(Vorgang formRecord)
    • getCreatedInstant

      public Instant getCreatedInstant()
    • setCreatedInstant

      public void setCreatedInstant(Instant createdInstant)
    • isOpen

      public boolean isOpen()
    • setOpen

      public void setOpen(boolean open)
    • getMembers

      public Set<FormRecordAccess> getMembers()
    • setMembers

      public void setMembers(Set<FormRecordAccess> members)
    • getMessages

      public List<FormRecordMessage> getMessages()
    • setMessages

      public void setMessages(List<FormRecordMessage> messages)
    • setMember

      public void setMember(FormRecordAccess access)
      Sets the member to this chat
      Parameters:
      access - The access to set.
    • addMessage

      public void addMessage(FormRecordMessage message)
      Adds a message to this chat, and set this chat on the message.
      Parameters:
      message - The message to add.
    • getSenderMessages

      public List<FormRecordMessage> getSenderMessages(IUser sender)
      Returns all messages sent by the given user.
      Parameters:
      sender - the user that sent the messages.
      Returns:
      a list of all the messages sent by the given user ordered by their submit date.
    • getUnreadMessageCount

      public int getUnreadMessageCount(IUser user)
      Returns the number of unread messages in the chat for the given user.
      Parameters:
      user - The user to get the unread message count for.
      Returns:
      The number of unread messages in the chat for the given user.
    • getUnreadMessageCount

      public int getUnreadMessageCount(IUserRef userRef)
      Returns the number of unread messages in the chat for the given user.
      Parameters:
      userRef - The user reference to get the unread message count for.
      Returns:
      The number of unread messages in the chat for the given user.
    • getUnreadMessages

      @NotNull public @NotNull List<FormRecordMessage> getUnreadMessages(IUser user)
      Returns all unread messages in the chat for the given user.
      Parameters:
      user - The user to get the unread messages for.
      Returns:
      The unread messages in the chat for the given user.
    • getUnreadMessages

      @NotNull public @NotNull List<FormRecordMessage> getUnreadMessages(IUserRef userRef)
      Returns all unread messages in the chat for the given user.
      Parameters:
      userRef - The user reference to get the unread messages for.
      Returns:
      The unread messages in the chat for the given user.
    • getLastMessageInstant

      public Instant getLastMessageInstant()
      Returns the instant of the last message in this chat.
      Returns:
      The instant of the last message in this chat, or null if there are no messages.
    • isRead

      public boolean isRead(IUser user)
      Returns whether all messages in the chat are read by the given user.
      Parameters:
      user - The user to check the read state for.
      Returns:
      true if all messages in the chat are read by the given user and false if there is at least one unread message.
    • isRead

      public boolean isRead(IUserRef userRef)
      Returns whether all messages in the chat are read by the given user.
      Parameters:
      userRef - The user reference to check the read state for.
      Returns:
      true if all messages in the chat are read by the given user and false if there is at least one unread message.
    • getDisplayName

      public String getDisplayName(Locale locale)
      Returns the display name of this chat in the context of the given user portal and locale.
      Parameters:
      locale - The locale to get the display name for.
      Returns:
      The display name of this chat in the context of the given user portal and locale.
    • isMember

      public boolean isMember(IUser user)
      Returns whether a user is a member of this chat and can therefore receive its messages.
      Parameters:
      user - to check.
      Returns:
      true if the given user is a member of this chat and false otherwise.
    • isMember

      public boolean isMember(IUserRef userRef)
      Returns whether a user reference is a member of this chat and can therefore receive its messages.
      Parameters:
      userRef - to check.
      Returns:
      true if the given user reference is a member of this chat and false otherwise.
    • markRead

      @Deprecated public void markRead(UserProfile profile)
      Deprecated.
      Use markRead(IUser) instead.
      Marks all messages in this chat as read for the given user.
      Parameters:
      profile - The user profile to mark the messages as read for.
    • markRead

      public void markRead(IUser user)
      Marks all messages in this chat as read for the given user.
      Parameters:
      user - The user to mark the messages as read for.
    • markAsReadByInboxUser

      public void markAsReadByInboxUser()
      Marks all messages in this chat as read by an inbox user.
    • getMemberRefs

      @Deprecated public Set<String> getMemberRefs()
      Deprecated.
      Returns a collection of member refs. Use getMembers() and FormRecordAccess.getUniversalReferenceId() instead.
    • setMemberRefs

      @Deprecated public void setMemberRefs(Set<String> memberRefs)
      Deprecated.
      Does nothing. Use setMembers(Set) instead
      Parameters:
      memberRefs - the member references
    • getMemberProfiles

      @Deprecated public Set<UserProfile> getMemberProfiles()
      Deprecated.
      Returns an empty collection. Use getMembers() and FormRecordAccess.getUserProfileUuid() instead.
    • setMemberProfiles

      @Deprecated public void setMemberProfiles(Set<UserProfile> memberProfiles)
      Deprecated.
      Does nothing. Use setMembers(Set) instead
      Parameters:
      memberProfiles - the member profiles