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 OvernightIndexedSwap extends Swap implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 private transient boolean swigCMemOwnDerived; 014 015 protected OvernightIndexedSwap(long cPtr, boolean cMemoryOwn) { 016 super(QuantLibJNI.OvernightIndexedSwap_SWIGSmartPtrUpcast(cPtr), true); 017 swigCMemOwnDerived = cMemoryOwn; 018 swigCPtr = cPtr; 019 } 020 021 protected static long getCPtr(OvernightIndexedSwap 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_OvernightIndexedSwap(swigCPtr); 040 } 041 swigCPtr = 0; 042 } 043 super.delete(); 044 } 045 046 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates, RateAveraging.Type averagingMethod) { 047 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_0(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates, averagingMethod.swigValue()), true); 048 } 049 050 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates) { 051 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_1(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates), true); 052 } 053 054 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar) { 055 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_2(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar), true); 056 } 057 058 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment) { 059 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_3(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue()), true); 060 } 061 062 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag) { 063 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_4(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag), true); 064 } 065 066 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread) { 067 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_5(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread), true); 068 } 069 070 public OvernightIndexedSwap(Swap.Type type, double nominal, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index) { 071 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_6(type.swigValue(), nominal, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index), true); 072 } 073 074 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates, RateAveraging.Type averagingMethod) { 075 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_7(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates, averagingMethod.swigValue()), true); 076 } 077 078 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates) { 079 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_8(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates), true); 080 } 081 082 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar) { 083 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_9(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar), true); 084 } 085 086 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag, BusinessDayConvention paymentAdjustment) { 087 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_10(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag, paymentAdjustment.swigValue()), true); 088 } 089 090 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread, long paymentLag) { 091 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_11(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread, paymentLag), true); 092 } 093 094 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index, double spread) { 095 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_12(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index, spread), true); 096 } 097 098 public OvernightIndexedSwap(Swap.Type type, DoubleVector nominals, Schedule schedule, double fixedRate, DayCounter fixedDC, OvernightIndex index) { 099 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_13(type.swigValue(), DoubleVector.getCPtr(nominals), nominals, Schedule.getCPtr(schedule), schedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, OvernightIndex.getCPtr(index), index), true); 100 } 101 102 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates, RateAveraging.Type averagingMethod) { 103 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_14(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates, averagingMethod.swigValue()), true); 104 } 105 106 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar, boolean telescopicValueDates) { 107 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_15(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar, telescopicValueDates), true); 108 } 109 110 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread, long paymentLag, BusinessDayConvention paymentAdjustment, Calendar paymentCalendar) { 111 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_16(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread, paymentLag, paymentAdjustment.swigValue(), Calendar.getCPtr(paymentCalendar), paymentCalendar), true); 112 } 113 114 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread, long paymentLag, BusinessDayConvention paymentAdjustment) { 115 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_17(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread, paymentLag, paymentAdjustment.swigValue()), true); 116 } 117 118 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread, long paymentLag) { 119 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_18(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread, paymentLag), true); 120 } 121 122 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex, double spread) { 123 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_19(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex, spread), true); 124 } 125 126 public OvernightIndexedSwap(Swap.Type type, DoubleVector fixedNominals, Schedule fixedSchedule, double fixedRate, DayCounter fixedDC, DoubleVector overnightNominals, Schedule overnightSchedule, OvernightIndex overnightIndex) { 127 this(QuantLibJNI.new_OvernightIndexedSwap__SWIG_20(type.swigValue(), DoubleVector.getCPtr(fixedNominals), fixedNominals, Schedule.getCPtr(fixedSchedule), fixedSchedule, fixedRate, DayCounter.getCPtr(fixedDC), fixedDC, DoubleVector.getCPtr(overnightNominals), overnightNominals, Schedule.getCPtr(overnightSchedule), overnightSchedule, OvernightIndex.getCPtr(overnightIndex), overnightIndex), true); 128 } 129 130 public double fixedLegBPS() { 131 return QuantLibJNI.OvernightIndexedSwap_fixedLegBPS(swigCPtr, this); 132 } 133 134 public double fixedLegNPV() { 135 return QuantLibJNI.OvernightIndexedSwap_fixedLegNPV(swigCPtr, this); 136 } 137 138 public double fairRate() { 139 return QuantLibJNI.OvernightIndexedSwap_fairRate(swigCPtr, this); 140 } 141 142 public double overnightLegBPS() { 143 return QuantLibJNI.OvernightIndexedSwap_overnightLegBPS(swigCPtr, this); 144 } 145 146 public double overnightLegNPV() { 147 return QuantLibJNI.OvernightIndexedSwap_overnightLegNPV(swigCPtr, this); 148 } 149 150 public double fairSpread() { 151 return QuantLibJNI.OvernightIndexedSwap_fairSpread(swigCPtr, this); 152 } 153 154 public Swap.Type type() { 155 return Swap.Type.swigToEnum(QuantLibJNI.OvernightIndexedSwap_type(swigCPtr, this)); 156 } 157 158 public double nominal() { 159 return QuantLibJNI.OvernightIndexedSwap_nominal(swigCPtr, this); 160 } 161 162 public DoubleVector nominals() { 163 return new DoubleVector(QuantLibJNI.OvernightIndexedSwap_nominals(swigCPtr, this), true); 164 } 165 166 public Frequency paymentFrequency() { 167 return Frequency.swigToEnum(QuantLibJNI.OvernightIndexedSwap_paymentFrequency(swigCPtr, this)); 168 } 169 170 public double fixedRate() { 171 return QuantLibJNI.OvernightIndexedSwap_fixedRate(swigCPtr, this); 172 } 173 174 public DayCounter fixedDayCount() { 175 return new DayCounter(QuantLibJNI.OvernightIndexedSwap_fixedDayCount(swigCPtr, this), false); 176 } 177 178 public OvernightIndex overnightIndex() { 179 long cPtr = QuantLibJNI.OvernightIndexedSwap_overnightIndex(swigCPtr, this); 180 return (cPtr == 0) ? null : new OvernightIndex(cPtr, true); 181 } 182 183 public double spread() { 184 return QuantLibJNI.OvernightIndexedSwap_spread(swigCPtr, this); 185 } 186 187 public Leg fixedLeg() { 188 return new Leg(QuantLibJNI.OvernightIndexedSwap_fixedLeg(swigCPtr, this), false); 189 } 190 191 public Leg overnightLeg() { 192 return new Leg(QuantLibJNI.OvernightIndexedSwap_overnightLeg(swigCPtr, this), false); 193 } 194 195 public RateAveraging.Type averagingMethod() { 196 return RateAveraging.Type.swigToEnum(QuantLibJNI.OvernightIndexedSwap_averagingMethod(swigCPtr, this)); 197 } 198 199}