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 ZeroCouponInflationSwap extends Swap implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 private transient boolean swigCMemOwnDerived; 014 015 protected ZeroCouponInflationSwap(long cPtr, boolean cMemoryOwn) { 016 super(QuantLibJNI.ZeroCouponInflationSwap_SWIGSmartPtrUpcast(cPtr), true); 017 swigCMemOwnDerived = cMemoryOwn; 018 swigCPtr = cPtr; 019 } 020 021 protected static long getCPtr(ZeroCouponInflationSwap 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_ZeroCouponInflationSwap(swigCPtr); 040 } 041 swigCPtr = 0; 042 } 043 super.delete(); 044 } 045 046 public ZeroCouponInflationSwap(Swap.Type type, double nominal, Date start, Date maturity, Calendar calendar, BusinessDayConvention convention, DayCounter dayCounter, double fixedRate, ZeroInflationIndex index, Period lag, CPI.InterpolationType observationInterpolation, boolean adjustInfObsDates, Calendar infCalendar, BusinessDayConvention infConvention) { 047 this(QuantLibJNI.new_ZeroCouponInflationSwap__SWIG_0(type.swigValue(), nominal, Date.getCPtr(start), start, Date.getCPtr(maturity), maturity, Calendar.getCPtr(calendar), calendar, convention.swigValue(), DayCounter.getCPtr(dayCounter), dayCounter, fixedRate, ZeroInflationIndex.getCPtr(index), index, Period.getCPtr(lag), lag, observationInterpolation.swigValue(), adjustInfObsDates, Calendar.getCPtr(infCalendar), infCalendar, infConvention.swigValue()), true); 048 } 049 050 public ZeroCouponInflationSwap(Swap.Type type, double nominal, Date start, Date maturity, Calendar calendar, BusinessDayConvention convention, DayCounter dayCounter, double fixedRate, ZeroInflationIndex index, Period lag, CPI.InterpolationType observationInterpolation, boolean adjustInfObsDates, Calendar infCalendar) { 051 this(QuantLibJNI.new_ZeroCouponInflationSwap__SWIG_1(type.swigValue(), nominal, Date.getCPtr(start), start, Date.getCPtr(maturity), maturity, Calendar.getCPtr(calendar), calendar, convention.swigValue(), DayCounter.getCPtr(dayCounter), dayCounter, fixedRate, ZeroInflationIndex.getCPtr(index), index, Period.getCPtr(lag), lag, observationInterpolation.swigValue(), adjustInfObsDates, Calendar.getCPtr(infCalendar), infCalendar), true); 052 } 053 054 public ZeroCouponInflationSwap(Swap.Type type, double nominal, Date start, Date maturity, Calendar calendar, BusinessDayConvention convention, DayCounter dayCounter, double fixedRate, ZeroInflationIndex index, Period lag, CPI.InterpolationType observationInterpolation, boolean adjustInfObsDates) { 055 this(QuantLibJNI.new_ZeroCouponInflationSwap__SWIG_2(type.swigValue(), nominal, Date.getCPtr(start), start, Date.getCPtr(maturity), maturity, Calendar.getCPtr(calendar), calendar, convention.swigValue(), DayCounter.getCPtr(dayCounter), dayCounter, fixedRate, ZeroInflationIndex.getCPtr(index), index, Period.getCPtr(lag), lag, observationInterpolation.swigValue(), adjustInfObsDates), true); 056 } 057 058 public ZeroCouponInflationSwap(Swap.Type type, double nominal, Date start, Date maturity, Calendar calendar, BusinessDayConvention convention, DayCounter dayCounter, double fixedRate, ZeroInflationIndex index, Period lag, CPI.InterpolationType observationInterpolation) { 059 this(QuantLibJNI.new_ZeroCouponInflationSwap__SWIG_3(type.swigValue(), nominal, Date.getCPtr(start), start, Date.getCPtr(maturity), maturity, Calendar.getCPtr(calendar), calendar, convention.swigValue(), DayCounter.getCPtr(dayCounter), dayCounter, fixedRate, ZeroInflationIndex.getCPtr(index), index, Period.getCPtr(lag), lag, observationInterpolation.swigValue()), true); 060 } 061 062 public double fairRate() { 063 return QuantLibJNI.ZeroCouponInflationSwap_fairRate(swigCPtr, this); 064 } 065 066 public double fixedLegNPV() { 067 return QuantLibJNI.ZeroCouponInflationSwap_fixedLegNPV(swigCPtr, this); 068 } 069 070 public double inflationLegNPV() { 071 return QuantLibJNI.ZeroCouponInflationSwap_inflationLegNPV(swigCPtr, this); 072 } 073 074 public Leg fixedLeg() { 075 return new Leg(QuantLibJNI.ZeroCouponInflationSwap_fixedLeg(swigCPtr, this), true); 076 } 077 078 public Leg inflationLeg() { 079 return new Leg(QuantLibJNI.ZeroCouponInflationSwap_inflationLeg(swigCPtr, this), true); 080 } 081 082 public Swap.Type type() { 083 return Swap.Type.swigToEnum(QuantLibJNI.ZeroCouponInflationSwap_type(swigCPtr, this)); 084 } 085 086}