/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.interestrate.bond.definition;
import com.opengamma.analytics.financial.interestrate.InstrumentDerivativeVisitor;
import com.opengamma.util.ArgumentChecker;
/**
* Describes a transaction on a Ibor floating coupon bond (Floating Rate Note) issue.
*/
public class BondIborTransaction extends BondTransaction<BondIborSecurity> {
/**
* Ibor coupon bond transaction constructor from transaction details.
* @param bondTransaction The bond underlying the transaction.
* @param quantity The number of bonds purchased (can be negative or positive).
* @param transactionPrice The transaction quoted price.
* @param bondStandard Description of the underlying bond with standard settlement date.
* @param notionalStandard The notional at the standard spot time.
*/
public BondIborTransaction(final BondIborSecurity bondTransaction, final double quantity, final double transactionPrice, final BondIborSecurity bondStandard, final double notionalStandard) {
super(bondTransaction, quantity, transactionPrice, bondStandard, notionalStandard);
}
@Override
public <S, T> T accept(final InstrumentDerivativeVisitor<S, T> visitor, final S data) {
ArgumentChecker.notNull(visitor, "visitor");
return visitor.visitBondIborTransaction(this, data);
}
@Override
public <T> T accept(final InstrumentDerivativeVisitor<?, T> visitor) {
ArgumentChecker.notNull(visitor, "visitor");
return visitor.visitBondIborTransaction(this);
}
}