contracts / RatePaymentEvent

# RatePaymentEvent

`abstract class RatePaymentEvent : PaymentEvent`

A RatePaymentEvent represents a dated obligation of payment. It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance functions for interest rate swap legs of the fixed and floating nature. For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

### Constructors

<init>

`RatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, notional: Amount, rate: Rate)`

A RatePaymentEvent represents a dated obligation of payment. It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance functions for interest rate swap legs of the fixed and floating nature. For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

### Properties

accrualEndDate | `val accrualEndDate: LocalDate`
accrualStartDate | `val accrualStartDate: LocalDate`
dayCountBasisDay | `val dayCountBasisDay: DayCountBasisDay`
dayCountBasisYear | `val dayCountBasisYear: DayCountBasisYear`
dayCountFactor | `val dayCountFactor: BigDecimal`
days | `val days: Int`
flow | `abstract val flow: Amount`
notional | `val notional: Amount`
rate | `val rate: Rate`

### Functions

asCSV | `open fun asCSV(): String`
calculate | `open fun calculate(): Amount`
equals | `open fun equals(other: Any?): Boolean`
hashCode | `open fun hashCode(): Int`

### Companion Object Properties

CSVHeader | `val CSVHeader: String`

### Inheritors

FixedRatePaymentEvent | `class FixedRatePaymentEvent : RatePaymentEvent` Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent Assumes that the rate is valid.
FloatingRatePaymentEvent | `class FloatingRatePaymentEvent : RatePaymentEvent` Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?