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 OISRateHelper extends RateHelper implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable {
012  private transient long swigCPtr;
013  private transient boolean swigCMemOwnDerived;
014
015  protected OISRateHelper(long cPtr, boolean cMemoryOwn) {
016    super(QuantLibJNI.OISRateHelper_SWIGSmartPtrUpcast(cPtr), true);
017    swigCMemOwnDerived = cMemoryOwn;
018    swigCPtr = cPtr;
019  }
020
021  protected static long getCPtr(OISRateHelper 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_OISRateHelper(swigCPtr);
040      }
041      swigCPtr = 0;
042    }
043    super.delete();
044  }
045
046  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart, double overnightSpread, Pillar.Choice pillar, Date customPillarDate, RateAveraging.Type averagingMethod, OptionalBool endOfMonth) {
047    this(QuantLibJNI.new_OISRateHelper__SWIG_0(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart, overnightSpread, pillar.swigValue(), Date.getCPtr(customPillarDate), customPillarDate, averagingMethod.swigValue(), OptionalBool.getCPtr(endOfMonth), endOfMonth), true);
048  }
049
050  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart, double overnightSpread, Pillar.Choice pillar, Date customPillarDate, RateAveraging.Type averagingMethod) {
051    this(QuantLibJNI.new_OISRateHelper__SWIG_1(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart, overnightSpread, pillar.swigValue(), Date.getCPtr(customPillarDate), customPillarDate, averagingMethod.swigValue()), true);
052  }
053
054  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart, double overnightSpread, Pillar.Choice pillar, Date customPillarDate) {
055    this(QuantLibJNI.new_OISRateHelper__SWIG_2(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart, overnightSpread, pillar.swigValue(), Date.getCPtr(customPillarDate), customPillarDate), true);
056  }
057
058  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart, double overnightSpread, Pillar.Choice pillar) {
059    this(QuantLibJNI.new_OISRateHelper__SWIG_3(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart, overnightSpread, pillar.swigValue()), true);
060  }
061
062  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart, double overnightSpread) {
063    this(QuantLibJNI.new_OISRateHelper__SWIG_4(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart, overnightSpread), true);
064  }
065
066  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar, Period forwardStart) {
067    this(QuantLibJNI.new_OISRateHelper__SWIG_5(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, Period.getCPtr(forwardStart), forwardStart), true);
068  }
069
070  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency, Calendar paymentCalendar) {
071    this(QuantLibJNI.new_OISRateHelper__SWIG_6(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar), true);
072  }
073
074  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention, Frequency paymentFrequency) {
075    this(QuantLibJNI.new_OISRateHelper__SWIG_7(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue(), paymentFrequency.swigValue()), true);
076  }
077
078  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag, BusinessDayConvention paymentConvention) {
079    this(QuantLibJNI.new_OISRateHelper__SWIG_8(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag, paymentConvention.swigValue()), true);
080  }
081
082  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates, long paymentLag) {
083    this(QuantLibJNI.new_OISRateHelper__SWIG_9(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates, paymentLag), true);
084  }
085
086  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve, boolean telescopicValueDates) {
087    this(QuantLibJNI.new_OISRateHelper__SWIG_10(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve, telescopicValueDates), true);
088  }
089
090  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index, YieldTermStructureHandle discountingCurve) {
091    this(QuantLibJNI.new_OISRateHelper__SWIG_11(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index, YieldTermStructureHandle.getCPtr(discountingCurve), discountingCurve), true);
092  }
093
094  public OISRateHelper(long settlementDays, Period tenor, QuoteHandle rate, OvernightIndex index) {
095    this(QuantLibJNI.new_OISRateHelper__SWIG_12(settlementDays, Period.getCPtr(tenor), tenor, QuoteHandle.getCPtr(rate), rate, OvernightIndex.getCPtr(index), index), true);
096  }
097
098  public OvernightIndexedSwap swap() {
099    long cPtr = QuantLibJNI.OISRateHelper_swap(swigCPtr, this);
100    return (cPtr == 0) ? null : new OvernightIndexedSwap(cPtr, true);
101  }
102
103}