## Class CapitalIndexedBondPaymentPeriod

• java.lang.Object
• com.opengamma.strata.product.bond.CapitalIndexedBondPaymentPeriod
• All Implemented Interfaces:
BondPaymentPeriod, java.io.Serializable, Bean, ImmutableBean

public final class CapitalIndexedBondPaymentPeriod
extends java.lang.Object
implements BondPaymentPeriod, ImmutableBean, java.io.Serializable
A coupon or nominal payment of capital indexed bonds.

A single payment period within a capital indexed bond, ResolvedCapitalIndexedBond. Since All the cash flows of the capital indexed bond are adjusted for inflation, both of the periodic payments and nominal payment are represented by this class.

Serialized Form
• ### Nested Class Summary

Nested Classes
Modifier and Type Class Description
static class  CapitalIndexedBondPaymentPeriod.Builder
The bean-builder for CapitalIndexedBondPaymentPeriod.
static class  CapitalIndexedBondPaymentPeriod.Meta
The meta-bean for CapitalIndexedBondPaymentPeriod.
• ### Method Summary

All Methods
Modifier and Type Method Description
CapitalIndexedBondPaymentPeriod adjustPaymentDate​(java.time.temporal.TemporalAdjuster adjuster)
static CapitalIndexedBondPaymentPeriod.Builder builder()
Returns a builder used to create an instance of the bean.
void collectIndices​(com.google.common.collect.ImmutableSet.Builder<Index> builder)
Collects all the indices referred to by this period.
boolean equals​(java.lang.Object obj)
Currency getCurrency()
Gets the primary currency of the payment period.
java.time.LocalDate getDetachmentDate()
Gets the detachment date.
java.time.LocalDate getEndDate()
Gets the end date of the payment period.
double getNotional()
Gets the notional amount, must be non-zero.
java.time.LocalDate getPaymentDate()
Gets the date that the payment is made.
RateComputation getRateComputation()
Gets the rate to be computed.
double getRealCoupon()
Gets the rate of real coupon.
java.time.LocalDate getStartDate()
Gets the start date of the payment period.
java.time.LocalDate getUnadjustedEndDate()
java.time.LocalDate getUnadjustedStartDate()
boolean hasExCouponPeriod()
Checks if there is an ex-coupon period.
int hashCode()
static CapitalIndexedBondPaymentPeriod.Meta meta()
The meta-bean for CapitalIndexedBondPaymentPeriod.
CapitalIndexedBondPaymentPeriod.Meta metaBean()
CapitalIndexedBondPaymentPeriod.Builder toBuilder()
Returns a builder that allows this bean to be mutated.
java.lang.String toString()
• ### Methods inherited from class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
• ### Methods inherited from interface org.joda.beans.Bean

property, propertyNames
• ### Method Detail

• #### collectIndices

public void collectIndices​(com.google.common.collect.ImmutableSet.Builder<Index> builder)
Description copied from interface: BondPaymentPeriod
Collects all the indices referred to by this period.

A period will typically refer to at least one index, such as 'GBP-LIBOR-3M'. Each index that is referred to must be added to the specified builder.

Specified by:
collectIndices in interface BondPaymentPeriod
Parameters:
builder - the builder to use

public CapitalIndexedBondPaymentPeriod adjustPaymentDate​(java.time.temporal.TemporalAdjuster adjuster)
Description copied from interface: BondPaymentPeriod

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 BondPaymentPeriod
Parameters:
adjuster - the adjuster to apply to the payment date
Returns:
• #### getPaymentDate

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

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

Specified by:
getPaymentDate in interface BondPaymentPeriod
Returns:
the payment date of the period
• #### hasExCouponPeriod

public boolean hasExCouponPeriod()
Checks if there is an ex-coupon period.
Returns:
true if has an ex-coupon period
• #### meta

public static CapitalIndexedBondPaymentPeriod.Meta meta()
The meta-bean for CapitalIndexedBondPaymentPeriod.
Returns:
the meta-bean, not null
• #### builder

public static CapitalIndexedBondPaymentPeriod.Builder builder()
Returns a builder used to create an instance of the bean.
Returns:
the builder, not null
• #### metaBean

public CapitalIndexedBondPaymentPeriod.Meta metaBean()
Specified by:
metaBean in interface Bean
• #### getCurrency

public Currency getCurrency()
Gets the primary currency of the payment period.

The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.

Specified by:
getCurrency in interface BondPaymentPeriod
Returns:
the value of the property, not null
• #### getNotional

public double getNotional()
Gets the notional amount, must be non-zero.

The notional amount applicable during the period. The currency of the notional is specified by currency.

Returns:
the value of the property
• #### getRealCoupon

public double getRealCoupon()
Gets the rate of real coupon.

The real coupon is the rate before taking the inflation into account. For example, a real coupon of c for semi-annual payments is c/2.

Returns:
the value of the property
• #### getStartDate

public java.time.LocalDate getStartDate()
Gets the start date of the payment period.

This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.

Specified by:
getStartDate in interface BondPaymentPeriod
Returns:
the value of the property, not null
• #### getEndDate

public java.time.LocalDate getEndDate()
Gets the end date of the payment period.

This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.

Specified by:
getEndDate in interface BondPaymentPeriod
Returns:
the value of the property, not null

public java.time.LocalDate getUnadjustedStartDate()

When building, this will default to the start date if not specified.

Returns:
the value of the property, not null

public java.time.LocalDate getUnadjustedEndDate()

When building, this will default to the end date if not specified.

Returns:
the value of the property, not null
• #### getDetachmentDate

public java.time.LocalDate getDetachmentDate()
Gets the detachment date.

Some bonds trade ex-coupon before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date.

When building, this will default to the end date if not specified.

Returns:
the value of the property, not null
• #### toBuilder

public CapitalIndexedBondPaymentPeriod.Builder toBuilder()
Returns a builder that allows this bean to be mutated.
Returns:
the mutable builder, 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