Record Class RequestPaymentMessage

java.lang.Object
java.lang.Record
it.auties.whatsapp.model.message.payment.RequestPaymentMessage
All Implemented Interfaces:
it.auties.protobuf.model.ProtobufMessage, it.auties.protobuf.model.ProtobufObject, Message, PaymentMessage

public record RequestPaymentMessage(String currency, long amount1000, Jid requestFrom, Optional<MessageContainer> noteMessage, long expiryTimestampSeconds, PaymentMoney amount, Optional<PaymentBackground> background) extends Record implements PaymentMessage
A model class that represents a message to try to place a PaymentMessage.
  • Field Details

    • currency

      private final String currency
      The field for the currency record component.
    • amount1000

      private final long amount1000
      The field for the amount1000 record component.
    • requestFrom

      private final Jid requestFrom
      The field for the requestFrom record component.
    • noteMessage

      private final Optional<MessageContainer> noteMessage
      The field for the noteMessage record component.
    • expiryTimestampSeconds

      private final long expiryTimestampSeconds
      The field for the expiryTimestampSeconds record component.
    • amount

      private final PaymentMoney amount
      The field for the amount record component.
    • background

      private final Optional<PaymentBackground> background
      The field for the background record component.
  • Constructor Details

    • RequestPaymentMessage

      public RequestPaymentMessage(String currency, long amount1000, Jid requestFrom, Optional<MessageContainer> noteMessage, long expiryTimestampSeconds, PaymentMoney amount, Optional<PaymentBackground> background)
      Creates an instance of a RequestPaymentMessage record class.
      Parameters:
      currency - the value for the currency record component
      amount1000 - the value for the amount1000 record component
      requestFrom - the value for the requestFrom record component
      noteMessage - the value for the noteMessage record component
      expiryTimestampSeconds - the value for the expiryTimestampSeconds record component
      amount - the value for the amount record component
      background - the value for the background record component
  • Method Details

    • expiryTimestamp

      public Optional<ZonedDateTime> expiryTimestamp()
      Returns when the transaction expires
      Returns:
      an optional
    • type

      public MessageType type()
      Description copied from interface: Message
      Return message type
      Specified by:
      type in interface Message
      Returns:
      a non-null message type
    • 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.
    • currency

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

      public long amount1000()
      Returns the value of the amount1000 record component.
      Returns:
      the value of the amount1000 record component
    • requestFrom

      public Jid requestFrom()
      Returns the value of the requestFrom record component.
      Returns:
      the value of the requestFrom record component
    • noteMessage

      public Optional<MessageContainer> noteMessage()
      Returns the value of the noteMessage record component.
      Returns:
      the value of the noteMessage record component
    • expiryTimestampSeconds

      public long expiryTimestampSeconds()
      Returns the value of the expiryTimestampSeconds record component.
      Returns:
      the value of the expiryTimestampSeconds record component
    • amount

      public PaymentMoney amount()
      Returns the value of the amount record component.
      Returns:
      the value of the amount record component
    • background

      public Optional<PaymentBackground> background()
      Returns the value of the background record component.
      Returns:
      the value of the background record component