Record Class NegotiationOffer

java.lang.Object
java.lang.Record
com.tnsai.coordination.negotiation.NegotiationOffer
Record Components:
offerId - unique offer identifier
fromAgentId - agent making the offer
toAgentId - agent receiving the offer
value - numeric offer value
round - negotiation round number (1-based)
terms - additional offer terms
timestamp - when the offer was made

public record NegotiationOffer(String offerId, String fromAgentId, String toAgentId, double value, int round, Map<String,Object> terms, Instant timestamp) extends Record
An offer made during a negotiation.
Since:
0.0.2
  • Constructor Details

    • NegotiationOffer

      public NegotiationOffer(String offerId, String fromAgentId, String toAgentId, double value, int round, Map<String,Object> terms, Instant timestamp)
      Creates an instance of a NegotiationOffer record class.
      Parameters:
      offerId - the value for the offerId record component
      fromAgentId - the value for the fromAgentId record component
      toAgentId - the value for the toAgentId record component
      value - the value for the value record component
      round - the value for the round record component
      terms - the value for the terms record component
      timestamp - the value for the timestamp record component
  • Method Details

    • of

      public static NegotiationOffer of(String from, String to, double value, int round)
      Creates an offer with auto-generated ID and timestamp.
    • of

      public static NegotiationOffer of(String from, String to, double value, int round, Map<String,Object> terms)
      Creates an offer with terms.
    • 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.
    • offerId

      public String offerId()
      Returns the value of the offerId record component.
      Returns:
      the value of the offerId record component
    • fromAgentId

      public String fromAgentId()
      Returns the value of the fromAgentId record component.
      Returns:
      the value of the fromAgentId record component
    • toAgentId

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

      public double value()
      Returns the value of the value record component.
      Returns:
      the value of the value record component
    • round

      public int round()
      Returns the value of the round record component.
      Returns:
      the value of the round record component
    • terms

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

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