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 YoYOptionletVolatilitySurfaceHandle implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 protected transient boolean swigCMemOwn; 014 015 protected YoYOptionletVolatilitySurfaceHandle(long cPtr, boolean cMemoryOwn) { 016 swigCMemOwn = cMemoryOwn; 017 swigCPtr = cPtr; 018 } 019 020 protected static long getCPtr(YoYOptionletVolatilitySurfaceHandle obj) { 021 return (obj == null) ? 0 : obj.swigCPtr; 022 } 023 024 protected static long swigRelease(YoYOptionletVolatilitySurfaceHandle obj) { 025 long ptr = 0; 026 if (obj != null) { 027 if (!obj.swigCMemOwn) 028 throw new RuntimeException("Cannot release ownership as memory is not owned"); 029 ptr = obj.swigCPtr; 030 obj.swigCMemOwn = false; 031 obj.delete(); 032 } 033 return ptr; 034 } 035 036 @SuppressWarnings("deprecation") 037 protected void finalize() { 038 delete(); 039 } 040 041 public synchronized void delete() { 042 if (swigCPtr != 0) { 043 if (swigCMemOwn) { 044 swigCMemOwn = false; 045 QuantLibJNI.delete_YoYOptionletVolatilitySurfaceHandle(swigCPtr); 046 } 047 swigCPtr = 0; 048 } 049 } 050 051 public YoYOptionletVolatilitySurfaceHandle(YoYOptionletVolatilitySurface arg0) { 052 this(QuantLibJNI.new_YoYOptionletVolatilitySurfaceHandle__SWIG_0(YoYOptionletVolatilitySurface.getCPtr(arg0), arg0), true); 053 } 054 055 public YoYOptionletVolatilitySurfaceHandle() { 056 this(QuantLibJNI.new_YoYOptionletVolatilitySurfaceHandle__SWIG_1(), true); 057 } 058 059 public YoYOptionletVolatilitySurface __deref__() { 060 long cPtr = QuantLibJNI.YoYOptionletVolatilitySurfaceHandle___deref__(swigCPtr, this); 061 return (cPtr == 0) ? null : new YoYOptionletVolatilitySurface(cPtr, true); 062 } 063 064 public YoYOptionletVolatilitySurface currentLink() { 065 long cPtr = QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_currentLink(swigCPtr, this); 066 return (cPtr == 0) ? null : new YoYOptionletVolatilitySurface(cPtr, true); 067 } 068 069 public boolean empty() { 070 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_empty(swigCPtr, this); 071 } 072 073 public Observable asObservable() { 074 long cPtr = QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_asObservable(swigCPtr, this); 075 return (cPtr == 0) ? null : new Observable(cPtr, true); 076 } 077 078 public Period observationLag() { 079 return new Period(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_observationLag(swigCPtr, this), true); 080 } 081 082 public double frequency() { 083 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_frequency(swigCPtr, this); 084 } 085 086 public boolean indexIsInterpolated() { 087 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_indexIsInterpolated(swigCPtr, this); 088 } 089 090 public Date baseDate() { 091 return new Date(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_baseDate(swigCPtr, this), true); 092 } 093 094 public double timeFromBase(Date date, Period obsLag) { 095 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_timeFromBase__SWIG_0(swigCPtr, this, Date.getCPtr(date), date, Period.getCPtr(obsLag), obsLag); 096 } 097 098 public double timeFromBase(Date date) { 099 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_timeFromBase__SWIG_1(swigCPtr, this, Date.getCPtr(date), date); 100 } 101 102 public double minStrike() { 103 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_minStrike(swigCPtr, this); 104 } 105 106 public double maxStrike() { 107 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_maxStrike(swigCPtr, this); 108 } 109 110 public double baseLevel() { 111 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_baseLevel(swigCPtr, this); 112 } 113 114 public double volatility(Date maturityDate, double strike, Period obsLag, boolean extrapolate) { 115 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_0(swigCPtr, this, Date.getCPtr(maturityDate), maturityDate, strike, Period.getCPtr(obsLag), obsLag, extrapolate); 116 } 117 118 public double volatility(Date maturityDate, double strike, Period obsLag) { 119 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_1(swigCPtr, this, Date.getCPtr(maturityDate), maturityDate, strike, Period.getCPtr(obsLag), obsLag); 120 } 121 122 public double volatility(Date maturityDate, double strike) { 123 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_2(swigCPtr, this, Date.getCPtr(maturityDate), maturityDate, strike); 124 } 125 126 public double volatility(Period optionTenor, double strike, Period obsLag, boolean extrapolate) { 127 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_3(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike, Period.getCPtr(obsLag), obsLag, extrapolate); 128 } 129 130 public double volatility(Period optionTenor, double strike, Period obsLag) { 131 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_4(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike, Period.getCPtr(obsLag), obsLag); 132 } 133 134 public double volatility(Period optionTenor, double strike) { 135 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_volatility__SWIG_5(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike); 136 } 137 138 public double totalVariance(Date exerciseDate, double strike, Period obsLag, boolean extrapolate) { 139 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_0(swigCPtr, this, Date.getCPtr(exerciseDate), exerciseDate, strike, Period.getCPtr(obsLag), obsLag, extrapolate); 140 } 141 142 public double totalVariance(Date exerciseDate, double strike, Period obsLag) { 143 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_1(swigCPtr, this, Date.getCPtr(exerciseDate), exerciseDate, strike, Period.getCPtr(obsLag), obsLag); 144 } 145 146 public double totalVariance(Date exerciseDate, double strike) { 147 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_2(swigCPtr, this, Date.getCPtr(exerciseDate), exerciseDate, strike); 148 } 149 150 public double totalVariance(Period optionTenor, double strike, Period obsLag, boolean extrapolate) { 151 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_3(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike, Period.getCPtr(obsLag), obsLag, extrapolate); 152 } 153 154 public double totalVariance(Period optionTenor, double strike, Period obsLag) { 155 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_4(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike, Period.getCPtr(obsLag), obsLag); 156 } 157 158 public double totalVariance(Period optionTenor, double strike) { 159 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_totalVariance__SWIG_5(swigCPtr, this, Period.getCPtr(optionTenor), optionTenor, strike); 160 } 161 162 public DayCounter dayCounter() { 163 return new DayCounter(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_dayCounter(swigCPtr, this), true); 164 } 165 166 public double timeFromReference(Date date) { 167 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_timeFromReference(swigCPtr, this, Date.getCPtr(date), date); 168 } 169 170 public Calendar calendar() { 171 return new Calendar(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_calendar(swigCPtr, this), true); 172 } 173 174 public Date referenceDate() { 175 return new Date(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_referenceDate(swigCPtr, this), true); 176 } 177 178 public Date maxDate() { 179 return new Date(QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_maxDate(swigCPtr, this), true); 180 } 181 182 public double maxTime() { 183 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_maxTime(swigCPtr, this); 184 } 185 186 public void enableExtrapolation() { 187 QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_enableExtrapolation(swigCPtr, this); 188 } 189 190 public void disableExtrapolation() { 191 QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_disableExtrapolation(swigCPtr, this); 192 } 193 194 public boolean allowsExtrapolation() { 195 return QuantLibJNI.YoYOptionletVolatilitySurfaceHandle_allowsExtrapolation(swigCPtr, this); 196 } 197 198}