Class NotionalExchange

  • All Implemented Interfaces:
    SwapPaymentEvent, java.io.Serializable, Bean, ImmutableBean

    public final class NotionalExchange
    extends java.lang.Object
    implements SwapPaymentEvent, ImmutableBean, java.io.Serializable
    An exchange of notionals between two counterparties.

    In most swaps, the notional amount is not exchanged, with only the net difference being exchanged. However, in certain cases, initial, final or intermediate amounts are exchanged. In this case, the notional can be referred to as the principal.

    This class represents a notional exchange where the amount is known in advance.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static NotionalExchange of​(CurrencyAmount paymentAmount,
                                          java.time.LocalDate paymentDate)
        Obtains an instance from the amount and date.
        Parameters:
        paymentAmount - the amount of the notional exchange
        paymentDate - the date that the payment is made
        Returns:
        the notional exchange
      • of

        public static NotionalExchange of​(Payment payment)
        Obtains an instance from the payment.
        Parameters:
        payment - the payment to be made
        Returns:
        the notional exchange
      • getPaymentDate

        public java.time.LocalDate getPaymentDate()
        Description copied from interface: SwapPaymentEvent
        Gets the date that the payment is made.

        Each payment event has a single payment date. This date has been adjusted to be a valid business day.

        Specified by:
        getPaymentDate in interface SwapPaymentEvent
        Returns:
        the payment date
      • getPaymentAmount

        public CurrencyAmount getPaymentAmount()
        Gets the payment amount.
        Returns:
        the payment amount
      • getCurrency

        public Currency getCurrency()
        Gets the currency of the event.

        The currency of the event is the currency of the payment.

        Specified by:
        getCurrency in interface SwapPaymentEvent
        Returns:
        the currency of the event
      • adjustPaymentDate

        public NotionalExchange adjustPaymentDate​(java.time.temporal.TemporalAdjuster adjuster)
        Description copied from interface: SwapPaymentEvent
        Adjusts the payment date using the rules of the specified adjuster.

        The adjuster is typically an instance of BusinessDayAdjustment. Implementations must return a new instance unless they are immutable and no change occurs.

        Specified by:
        adjustPaymentDate in interface SwapPaymentEvent
        Parameters:
        adjuster - the adjuster to apply to the payment date
        Returns:
        the adjusted payment event
      • meta

        public static NotionalExchange.Meta meta()
        The meta-bean for NotionalExchange.
        Returns:
        the meta-bean, not null
      • getPayment

        public Payment getPayment()
        Gets the notional exchange payment.

        This contains the amount to be paid and the date that payment occurs. This date has been adjusted to be a valid business day.

        Returns:
        the value of the property, not null
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object