Class MessageEntityImpl

All Implemented Interfaces:
Taggable, MessageEntity, Message, HasRevision, Entity
Direct Known Subclasses:
TemporaryMessageEntityImpl

public class MessageEntityImpl extends AbstractEngageEngineEntity implements MessageEntity
The default message implementation.
  • Field Details

    • isPrivate

      protected boolean isPrivate
    • hidden

      protected boolean hidden
    • sticky

      protected boolean sticky
    • tenantId

      protected String tenantId
    • externalId

      protected String externalId
    • actionInstanceId

      protected String actionInstanceId
    • mediaContentId

      protected String mediaContentId
    • conversationId

      protected String conversationId
    • category

      protected Category category
    • type

      protected String type
    • subType

      protected String subType
    • mainContent

      protected String mainContent
    • mainContentType

      protected String mainContentType
    • creationTime

      protected Date creationTime
    • updateTime

      protected Date updateTime
    • creatorId

      protected String creatorId
    • updaterId

      protected String updaterId
    • senderId

      protected String senderId
    • recipientId

      protected String recipientId
    • recipientGroupId

      protected String recipientGroupId
    • tags

      protected List<String> tags
    • replyToMessageId

      protected String replyToMessageId
    • messageAuditsInitialized

      protected boolean messageAuditsInitialized
    • messageAudits

      protected Collection<MessageAuditEntity> messageAudits
      The message audits for the message. Make sure that it is not set otherwise MyBatis won't invoke the setter.
  • Constructor Details

    • MessageEntityImpl

      public MessageEntityImpl()
  • Method Details

    • isPrivate

      public boolean isPrivate()
      Description copied from interface: Message
      Returns true if this is a private data object with a explicit and specific set of permissions other than its parent (source). For instance if you want to send a private message to someone within a group conversation or channel, you can use the private mode and explicitly select the recipients of that data object. This is an optional flag and defaults to false if not provided explicitly.
      Specified by:
      isPrivate in interface Message
      Returns:
      true if this is a private data object with a specific set of permissions
    • setPrivate

      public void setPrivate(boolean isPrivate)
      Specified by:
      setPrivate in interface MessageEntity
    • isHidden

      public boolean isHidden()
      Description copied from interface: Message
      A flag indicating whether a message should be hidden (i.e. not sent when requested).
      Specified by:
      isHidden in interface Message
      Returns:
      true if this message is hidden
    • setHidden

      public void setHidden(boolean hidden)
      Specified by:
      setHidden in interface MessageEntity
    • isSticky

      public boolean isSticky()
      Description copied from interface: Message
      Returns true if this is a sticky data object, false (or null for a default, regular data object, most likely ordered around the value or update timestamp. This is an optional flag and defaults to false if not provided explicitly.
      Specified by:
      isSticky in interface Message
      Returns:
      true if this is a sticky data object
    • setSticky

      public void setSticky(boolean sticky)
      Specified by:
      setSticky in interface MessageEntity
    • getTenantId

      public String getTenantId()
      Description copied from interface: Message
      Returns the id of the tenant this data object belongs to.
      Specified by:
      getTenantId in interface Message
      Returns:
      the tenant id
    • setTenantId

      public void setTenantId(String tenantId)
      Specified by:
      setTenantId in interface MessageEntity
    • getExternalId

      public String getExternalId()
      Description copied from interface: Message
      If this data object was created from an external system, this optional external id might be used to map to that external data object id, if necessary.
      Specified by:
      getExternalId in interface Message
      Returns:
      the optional external id of this data object
    • setExternalId

      public void setExternalId(String externalId)
      Specified by:
      setExternalId in interface MessageEntity
    • getActionInstanceId

      public String getActionInstanceId()
      Description copied from interface: Message
      The optional id of an action instance if this message is linked with one.
      Specified by:
      getActionInstanceId in interface Message
      Returns:
      the optional id of an action instance
    • setActionInstanceId

      public void setActionInstanceId(String actionInstanceId)
      Specified by:
      setActionInstanceId in interface MessageEntity
    • getMediaContentId

      public String getMediaContentId()
      Description copied from interface: Message
      The optional id of a media content id if this message is linked with one.
      Specified by:
      getMediaContentId in interface Message
      Returns:
      the optional if of a media content
    • setMediaContentId

      public void setMediaContentId(String mediaContentId)
      Specified by:
      setMediaContentId in interface MessageEntity
    • getConversationId

      public String getConversationId()
      Description copied from interface: Message
      Returns the conversation id for this data object.
      Specified by:
      getConversationId in interface Message
      Returns:
      the conversation id of the data object
    • setConversationId

      public void setConversationId(String conversationId)
      Specified by:
      setConversationId in interface MessageEntity
    • getCategory

      public Category getCategory()
      Description copied from interface: Message
      Returns the category of this data object, which might be a Category.MESSAGE, Category.EVENT, Category.ACTION.
      Specified by:
      getCategory in interface Message
      Returns:
      the data object category
    • setCategory

      public void setCategory(Category category)
      Specified by:
      setCategory in interface MessageEntity
    • getType

      public String getType()
      Description copied from interface: Message
      Returns the main type of this data object. A lot of services or functions might be based on the type of a data object, so choose it carefully, if not using one of the predefined types. See DataTypes for default types to be used.
      Specified by:
      getType in interface Message
      Returns:
      the type of the data object
    • setType

      public void setType(String type)
      Specified by:
      setType in interface MessageEntity
    • getSubType

      public String getSubType()
      Description copied from interface: Message
      Returns the sub type of this data object, defining the data object with more details than the main type. See DataSubTypes for default sub types to be used.
      Specified by:
      getSubType in interface Message
      Returns:
      the sub type of the data object
    • setSubType

      public void setSubType(String subType)
      Specified by:
      setSubType in interface MessageEntity
    • getMainContent

      public String getMainContent()
      Description copied from interface: Message
      Returns the main content for this data object, most likely just a mapping into a specific parameter within the payload or a combination of several values within the payload. The main content is typically used whenever a data object is rendered within a conversation it was sent to.
      Specified by:
      getMainContent in interface Message
      Returns:
      the main content of this data object in a human readable way
    • setMainContent

      public void setMainContent(String mainContent)
      Specified by:
      setMainContent in interface MessageEntity
    • getMainContentType

      public String getMainContentType()
      Description copied from interface: Message
      Returns the media type of the main content (e.g. 'MD', 'HTML' or 'PLAIN'). See ContentTypes for a list of supported types. If not explicitly specified, it returns the default type, which is ContentTypes.MD.
      Specified by:
      getMainContentType in interface Message
      Returns:
      the type of the main content
    • setMainContentType

      public void setMainContentType(String mainContentType)
      Specified by:
      setMainContentType in interface MessageEntity
    • getCreationTime

      public Date getCreationTime()
      Description copied from interface: Message
      Returns the creation timestamp of this data object.
      Specified by:
      getCreationTime in interface Message
      Returns:
      the creation timestamp
    • setCreationTime

      public void setCreationTime(Date creationTime)
      Specified by:
      setCreationTime in interface MessageEntity
    • getUpdateTime

      public Date getUpdateTime()
      Description copied from interface: Message
      Returns the timestamp of the last update of this data object, in most cases where events are immutable, this timestamp is the same as the creation timestamp, but must never be null.
      Specified by:
      getUpdateTime in interface Message
      Returns:
      the timestamp of the last update / modification of this data object
    • setUpdateTime

      public void setUpdateTime(Date updateTime)
      Specified by:
      setUpdateTime in interface MessageEntity
    • getCreatorId

      public String getCreatorId()
      Description copied from interface: Message
      Returns the id of the user creating this data object.
      Specified by:
      getCreatorId in interface Message
      Returns:
      the id of the creation user
    • setCreatorId

      public void setCreatorId(String creatorId)
      Specified by:
      setCreatorId in interface MessageEntity
    • getUpdaterId

      public String getUpdaterId()
      Description copied from interface: Message
      Returns the optional id of the user having last modified this data object, if any, null otherwise.
      Specified by:
      getUpdaterId in interface Message
      Returns:
      the optional id of the user having last updated this data object
    • setUpdaterId

      public void setUpdaterId(String updaterId)
      Specified by:
      setUpdaterId in interface MessageEntity
    • getSenderId

      public String getSenderId()
      Description copied from interface: Message
      The id of the user that is the senderId of the message.
      Specified by:
      getSenderId in interface Message
      Returns:
      the id of the senderId
    • setSenderId

      public void setSenderId(String senderId)
      Specified by:
      setSenderId in interface MessageEntity
    • getRecipientId

      public String getRecipientId()
      Description copied from interface: Message
      Returns the id of the recipient user of this message. This means that the message is private for the given user.
      Specified by:
      getRecipientId in interface Message
      Returns:
      the id of recipient user
    • setRecipientId

      public void setRecipientId(String recipientId)
      Specified by:
      setRecipientId in interface MessageEntity
    • getRecipientGroupId

      public String getRecipientGroupId()
      Description copied from interface: Message
      Returns the id of the recipient group of this message. This means that the message is private for the given group.
      Specified by:
      getRecipientGroupId in interface Message
      Returns:
      the id of recipient group
    • setRecipientGroupId

      public void setRecipientGroupId(String recipientGroupId)
      Specified by:
      setRecipientGroupId in interface MessageEntity
    • getTags

      public List<String> getTags()
      Description copied from interface: Taggable
      Returns the optional list of tags for this object. Tags might be used for different reasons, most likely for filtering and to have an impact on how the object might be rendered.
      Specified by:
      getTags in interface Taggable
      Returns:
      the optional list of tags, might be null or empty
    • setTags

      public void setTags(List<String> tags)
      Specified by:
      setTags in interface MessageEntity
    • isTemporary

      public boolean isTemporary()
      Description copied from interface: Message
      Whether this message is a temporary message.
      Specified by:
      isTemporary in interface Message
      Returns:
      true if this is a temporary message, false otherwise
    • setReplyToMessageId

      public void setReplyToMessageId(String messageId)
      Specified by:
      setReplyToMessageId in interface MessageEntity
    • getReplyToMessageId

      public String getReplyToMessageId()
      Description copied from interface: Message
      Returns a reference of another message used this one replies to.
      Specified by:
      getReplyToMessageId in interface Message
      Returns:
      the id of the message being replied
    • isMessageAuditsInitialized

      public boolean isMessageAuditsInitialized()
      Specified by:
      isMessageAuditsInitialized in interface MessageEntity
    • getMessageAudits

      public Collection<MessageAuditEntity> getMessageAudits()
      Description copied from interface: Message
      The collection of the audits of this message, in arbitrary order
      Specified by:
      getMessageAudits in interface Message
      Specified by:
      getMessageAudits in interface MessageEntity
      Returns:
      the audits for this message, if they exist
    • setMessageAudits

      public void setMessageAudits(Collection<MessageAuditEntity> messageAudits)
      Specified by:
      setMessageAudits in interface MessageEntity
    • getQueryMessageAudits

      public Collection<MessageAuditEntity> getQueryMessageAudits()
      Getter used by MyBatis when querying messages with message audits.
    • setQueryMessageAudits

      public void setQueryMessageAudits(Collection<MessageAuditEntity> messageAudits)
      Setter used by MyBatis when querying messages with message audits.
    • getPersistentState

      public Object getPersistentState()
      Specified by:
      getPersistentState in interface Entity
    • toString

      public String toString()
      Overrides:
      toString in class Object