package org.hibernate.test.annotations.embedded;
import java.text.NumberFormat;
import javax.persistence.Embeddable;
/**
* Represents floating part of Interest Rate Swap cash flows.
*/
@Embeddable
public class FloatLeg extends Leg {
/**
* Possible values for the rate index.
*/
public enum RateIndex {
LIBOR, EURIBOR, TIBOR}
;
private RateIndex rateIndex;
/**
* Spread over the selected rate index (in basis points).
*/
private double rateSpread;
public RateIndex getRateIndex() {
return rateIndex;
}
public void setRateIndex(RateIndex rateIndex) {
this.rateIndex = rateIndex;
}
public double getRateSpread() {
return rateSpread;
}
public void setRateSpread(double rateSpread) {
this.rateSpread = rateSpread;
}
public String toString() {
NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits( 1 );
format.setMaximumFractionDigits( 1 );
return "[" + getRateIndex().toString() + "+" + format.format( getRateSpread() ) + "]";
}
}