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}