/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.2
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package org.quantlib;

public class FixedRateBond extends Bond {
  private transient long swigCPtr;
  private transient boolean swigCMemOwnDerived;

  protected FixedRateBond(long cPtr, boolean cMemoryOwn) {
    super(QuantLibJNI.FixedRateBond_SWIGSmartPtrUpcast(cPtr), true);
    swigCMemOwnDerived = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(FixedRateBond obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void swigSetCMemOwn(boolean own) {
    swigCMemOwnDerived = own;
    super.swigSetCMemOwn(own);
  }

  @SuppressWarnings("deprecation")
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwnDerived) {
        swigCMemOwnDerived = false;
        QuantLibJNI.delete_FixedRateBond(swigCPtr);
      }
      swigCPtr = 0;
    }
    super.delete();
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_0(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_1(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_2(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_3(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_4(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_5(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_6(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_7(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_8(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_9(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_10(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_11(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_12(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_13(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_14(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_15(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_16(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_17(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_18(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_19(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_20(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_21(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_22(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_23(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_24(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_25(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_26(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_27(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_28(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_29(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue()), true);
  }

  public FixedRateBond(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter) {
    this(QuantLibJNI.new_FixedRateBond__SWIG_30(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter), true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_0(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_1(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_2(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_3(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_4(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_5(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention, double redemption) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_6(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue(), redemption);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter, BusinessDayConvention paymentConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_7(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter, paymentConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_rates(int settlementDays, double faceAmount, Schedule schedule, DoubleVector coupons, DayCounter paymentDayCounter) {
    long cPtr = QuantLibJNI.FixedRateBond_from_rates__SWIG_8(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(paymentDayCounter), paymentDayCounter);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_0(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_1(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_2(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar, Period exCouponPeriod) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_3(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Calendar paymentCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_4(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Calendar.getCPtr(paymentCalendar), paymentCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_5(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention, double redemption) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_6(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue(), redemption);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons, BusinessDayConvention paymentConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_7(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons, paymentConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_interest_rates(int settlementDays, double faceAmount, Schedule schedule, InterestRateVector coupons) {
    long cPtr = QuantLibJNI.FixedRateBond_from_interest_rates__SWIG_8(settlementDays, faceAmount, Schedule.getCPtr(schedule), schedule, InterestRateVector.getCPtr(coupons), coupons);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention, boolean exCouponEndOfMonth) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_0(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue(), exCouponEndOfMonth);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar, BusinessDayConvention exCouponConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_1(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar, exCouponConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod, Calendar exCouponCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_2(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod, Calendar.getCPtr(exCouponCalendar), exCouponCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar, Period exCouponPeriod) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_3(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(exCouponPeriod), exCouponPeriod);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth, Calendar paymentCalendar) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_4(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth, Calendar.getCPtr(paymentCalendar), paymentCalendar);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule, boolean endOfMonth) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_5(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue(), endOfMonth);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate, DateGeneration.Rule rule) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_6(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate, rule.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate, Date stubDate) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_7(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate, Date.getCPtr(stubDate), stubDate);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption, Date issueDate) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_8(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption, Date.getCPtr(issueDate), issueDate);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention, double redemption) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_9(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue(), redemption);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention, BusinessDayConvention paymentConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_10(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue(), paymentConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter, BusinessDayConvention accrualConvention) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_11(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter, accrualConvention.swigValue());
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public static FixedRateBond from_date_info(int settlementDays, Calendar couponCalendar, double faceAmount, Date startDate, Date maturityDate, Period tenor, DoubleVector coupons, DayCounter accrualDayCounter) {
    long cPtr = QuantLibJNI.FixedRateBond_from_date_info__SWIG_12(settlementDays, Calendar.getCPtr(couponCalendar), couponCalendar, faceAmount, Date.getCPtr(startDate), startDate, Date.getCPtr(maturityDate), maturityDate, Period.getCPtr(tenor), tenor, DoubleVector.getCPtr(coupons), coupons, DayCounter.getCPtr(accrualDayCounter), accrualDayCounter);
    return (cPtr == 0) ? null : new FixedRateBond(cPtr, true);
  }

  public Frequency frequency() {
    return Frequency.swigToEnum(QuantLibJNI.FixedRateBond_frequency(swigCPtr, this));
  }

  public DayCounter dayCounter() {
    return new DayCounter(QuantLibJNI.FixedRateBond_dayCounter(swigCPtr, this), true);
  }

}
