Package com.tnsai.spi

Record Class MessageBroker.Message

java.lang.Object
java.lang.Record
com.tnsai.spi.MessageBroker.Message
Enclosing interface:
MessageBroker

public static record MessageBroker.Message(String id, String from, String to, String topic, Object payload, Map<String,Object> headers, long timestamp) extends Record
Message container for inter-agent communication.
  • Constructor Details

    • Message

      public Message(String id, String from, String to, String topic, Object payload, Map<String,Object> headers, long timestamp)
      Creates an instance of a Message record class.
      Parameters:
      id - the value for the id record component
      from - the value for the from record component
      to - the value for the to record component
      topic - the value for the topic record component
      payload - the value for the payload record component
      headers - the value for the headers record component
      timestamp - the value for the timestamp record component
  • Method Details

    • of

      public static MessageBroker.Message of(Object payload)
      Creates a simple message with payload only.
    • from

      public static MessageBroker.Message from(String sender, Object payload)
      Creates a message with sender and payload.
    • to

      public static MessageBroker.Message to(String sender, String recipient, Object payload)
      Creates a directed message.
    • reply

      public MessageBroker.Message reply(String sender, Object payload)
      Creates a reply to this message.
    • 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      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.
    • id

      public String id()
      Returns the value of the id record component.
      Returns:
      the value of the id record component
    • from

      public String from()
      Returns the value of the from record component.
      Returns:
      the value of the from record component
    • to

      public String to()
      Returns the value of the to record component.
      Returns:
      the value of the to record component
    • topic

      public String topic()
      Returns the value of the topic record component.
      Returns:
      the value of the topic record component
    • payload

      public Object payload()
      Returns the value of the payload record component.
      Returns:
      the value of the payload record component
    • headers

      public Map<String,Object> headers()
      Returns the value of the headers record component.
      Returns:
      the value of the headers record component
    • timestamp

      public long timestamp()
      Returns the value of the timestamp record component.
      Returns:
      the value of the timestamp record component