001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (https://www.swig.org).
003 * Version 4.1.1
004 *
005 * Do not make changes to this file unless you know what you are doing - modify
006 * the SWIG interface file instead.
007 * ----------------------------------------------------------------------------- */
008
009package org.quantlib;
010
011public class CappedFlooredYoYInflationCoupon extends YoYInflationCoupon implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable {
012  private transient long swigCPtr;
013  private transient boolean swigCMemOwnDerived;
014
015  protected CappedFlooredYoYInflationCoupon(long cPtr, boolean cMemoryOwn) {
016    super(QuantLibJNI.CappedFlooredYoYInflationCoupon_SWIGSmartPtrUpcast(cPtr), true);
017    swigCMemOwnDerived = cMemoryOwn;
018    swigCPtr = cPtr;
019  }
020
021  protected static long getCPtr(CappedFlooredYoYInflationCoupon obj) {
022    return (obj == null) ? 0 : obj.swigCPtr;
023  }
024
025  protected void swigSetCMemOwn(boolean own) {
026    swigCMemOwnDerived = own;
027    super.swigSetCMemOwn(own);
028  }
029
030  @SuppressWarnings("deprecation")
031  protected void finalize() {
032    delete();
033  }
034
035  public synchronized void delete() {
036    if (swigCPtr != 0) {
037      if (swigCMemOwnDerived) {
038        swigCMemOwnDerived = false;
039        QuantLibJNI.delete_CappedFlooredYoYInflationCoupon(swigCPtr);
040      }
041      swigCPtr = 0;
042    }
043    super.delete();
044  }
045
046  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing, double spread, double cap, double floor, Date refPeriodStart, Date refPeriodEnd) {
047    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_0(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing, spread, cap, floor, Date.getCPtr(refPeriodStart), refPeriodStart, Date.getCPtr(refPeriodEnd), refPeriodEnd), true);
048  }
049
050  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing, double spread, double cap, double floor, Date refPeriodStart) {
051    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_1(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing, spread, cap, floor, Date.getCPtr(refPeriodStart), refPeriodStart), true);
052  }
053
054  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing, double spread, double cap, double floor) {
055    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_2(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing, spread, cap, floor), true);
056  }
057
058  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing, double spread, double cap) {
059    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_3(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing, spread, cap), true);
060  }
061
062  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing, double spread) {
063    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_4(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing, spread), true);
064  }
065
066  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter, double gearing) {
067    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_5(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter, gearing), true);
068  }
069
070  public CappedFlooredYoYInflationCoupon(Date paymentDate, double nominal, Date startDate, Date endDate, long fixingDays, YoYInflationIndex index, Period observationLag, DayCounter dayCounter) {
071    this(QuantLibJNI.new_CappedFlooredYoYInflationCoupon__SWIG_6(Date.getCPtr(paymentDate), paymentDate, nominal, Date.getCPtr(startDate), startDate, Date.getCPtr(endDate), endDate, fixingDays, YoYInflationIndex.getCPtr(index), index, Period.getCPtr(observationLag), observationLag, DayCounter.getCPtr(dayCounter), dayCounter), true);
072  }
073
074  public double rate() {
075    return QuantLibJNI.CappedFlooredYoYInflationCoupon_rate(swigCPtr, this);
076  }
077
078  public double cap() {
079    return QuantLibJNI.CappedFlooredYoYInflationCoupon_cap(swigCPtr, this);
080  }
081
082  public double floor() {
083    return QuantLibJNI.CappedFlooredYoYInflationCoupon_floor(swigCPtr, this);
084  }
085
086  public double effectiveCap() {
087    return QuantLibJNI.CappedFlooredYoYInflationCoupon_effectiveCap(swigCPtr, this);
088  }
089
090  public double effectiveFloor() {
091    return QuantLibJNI.CappedFlooredYoYInflationCoupon_effectiveFloor(swigCPtr, this);
092  }
093
094  public double underlyingRate() {
095    return QuantLibJNI.CappedFlooredYoYInflationCoupon_underlyingRate(swigCPtr, this);
096  }
097
098  public boolean isCapped() {
099    return QuantLibJNI.CappedFlooredYoYInflationCoupon_isCapped(swigCPtr, this);
100  }
101
102  public boolean isFloored() {
103    return QuantLibJNI.CappedFlooredYoYInflationCoupon_isFloored(swigCPtr, this);
104  }
105
106}