Record Class MessageMeta

java.lang.Object
java.lang.Record
com.tnsai.channels.model.MessageMeta
Record Components:
replyToMessageId - message this is replying to (null if not a reply)
threadId - thread identifier (null if not threaded)
platformMessageId - the native message id from the source platform
extra - arbitrary key-value pairs for platform-specific data

public record MessageMeta(String replyToMessageId, String threadId, String platformMessageId, Map<String,String> extra) extends Record
Optional platform-specific metadata carried alongside a UnifiedMessage.
  • Constructor Details

    • MessageMeta

      public MessageMeta(String replyToMessageId, String threadId, String platformMessageId, Map<String,String> extra)
      Creates an instance of a MessageMeta record class.
      Parameters:
      replyToMessageId - the value for the replyToMessageId record component
      threadId - the value for the threadId record component
      platformMessageId - the value for the platformMessageId record component
      extra - the value for the extra record component
  • Method Details

    • of

      public static MessageMeta of(String platformMessageId)
    • reply

      public static MessageMeta reply(String platformMessageId, String replyToMessageId)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • replyToMessageId

      public String replyToMessageId()
      Returns the value of the replyToMessageId record component.
      Returns:
      the value of the replyToMessageId record component
    • threadId

      public String threadId()
      Returns the value of the threadId record component.
      Returns:
      the value of the threadId record component
    • platformMessageId

      public String platformMessageId()
      Returns the value of the platformMessageId record component.
      Returns:
      the value of the platformMessageId record component
    • extra

      public Map<String,String> extra()
      Returns the value of the extra record component.
      Returns:
      the value of the extra record component