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 PartialBarrier extends Barrier implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 014 protected PartialBarrier(long cPtr, boolean cMemoryOwn) { 015 super(QuantLibJNI.PartialBarrier_SWIGUpcast(cPtr), cMemoryOwn); 016 swigCPtr = cPtr; 017 } 018 019 protected static long getCPtr(PartialBarrier obj) { 020 return (obj == null) ? 0 : obj.swigCPtr; 021 } 022 023 protected static long swigRelease(PartialBarrier obj) { 024 long ptr = 0; 025 if (obj != null) { 026 if (!obj.swigCMemOwn) 027 throw new RuntimeException("Cannot release ownership as memory is not owned"); 028 ptr = obj.swigCPtr; 029 obj.swigCMemOwn = false; 030 obj.delete(); 031 } 032 return ptr; 033 } 034 035 @SuppressWarnings("deprecation") 036 protected void finalize() { 037 delete(); 038 } 039 040 public synchronized void delete() { 041 if (swigCPtr != 0) { 042 if (swigCMemOwn) { 043 swigCMemOwn = false; 044 QuantLibJNI.delete_PartialBarrier(swigCPtr); 045 } 046 swigCPtr = 0; 047 } 048 super.delete(); 049 } 050 051 public PartialBarrier() { 052 this(QuantLibJNI.new_PartialBarrier(), true); 053 } 054 055 public final static class Range { 056 public final static PartialBarrier.Range Start = new PartialBarrier.Range("Start"); 057 public final static PartialBarrier.Range End = new PartialBarrier.Range("End"); 058 public final static PartialBarrier.Range EndB1 = new PartialBarrier.Range("EndB1"); 059 public final static PartialBarrier.Range EndB2 = new PartialBarrier.Range("EndB2"); 060 061 public final int swigValue() { 062 return swigValue; 063 } 064 065 public String toString() { 066 return swigName; 067 } 068 069 public static Range swigToEnum(int swigValue) { 070 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) 071 return swigValues[swigValue]; 072 for (int i = 0; i < swigValues.length; i++) 073 if (swigValues[i].swigValue == swigValue) 074 return swigValues[i]; 075 throw new IllegalArgumentException("No enum " + Range.class + " with value " + swigValue); 076 } 077 078 private Range(String swigName) { 079 this.swigName = swigName; 080 this.swigValue = swigNext++; 081 } 082 083 private Range(String swigName, int swigValue) { 084 this.swigName = swigName; 085 this.swigValue = swigValue; 086 swigNext = swigValue+1; 087 } 088 089 private Range(String swigName, Range swigEnum) { 090 this.swigName = swigName; 091 this.swigValue = swigEnum.swigValue; 092 swigNext = this.swigValue+1; 093 } 094 095 private static Range[] swigValues = { Start, End, EndB1, EndB2 }; 096 private static int swigNext = 0; 097 private final int swigValue; 098 private final String swigName; 099 } 100 101}