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 Currency implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 protected transient boolean swigCMemOwn; 014 015 protected Currency(long cPtr, boolean cMemoryOwn) { 016 swigCMemOwn = cMemoryOwn; 017 swigCPtr = cPtr; 018 } 019 020 protected static long getCPtr(Currency obj) { 021 return (obj == null) ? 0 : obj.swigCPtr; 022 } 023 024 protected static long swigRelease(Currency 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_Currency(swigCPtr); 046 } 047 swigCPtr = 0; 048 } 049 } 050 051 public Currency() { 052 this(QuantLibJNI.new_Currency__SWIG_0(), true); 053 } 054 055 public Currency(String name, String code, int numericCode, String symbol, String fractionSymbol, int fractionsPerUnit, Rounding rounding, String formatString, Currency triangulationCurrency) { 056 this(QuantLibJNI.new_Currency__SWIG_1(name, code, numericCode, symbol, fractionSymbol, fractionsPerUnit, Rounding.getCPtr(rounding), rounding, formatString, Currency.getCPtr(triangulationCurrency), triangulationCurrency), true); 057 } 058 059 public Currency(String name, String code, int numericCode, String symbol, String fractionSymbol, int fractionsPerUnit, Rounding rounding, String formatString) { 060 this(QuantLibJNI.new_Currency__SWIG_2(name, code, numericCode, symbol, fractionSymbol, fractionsPerUnit, Rounding.getCPtr(rounding), rounding, formatString), true); 061 } 062 063 public String name() { 064 return QuantLibJNI.Currency_name(swigCPtr, this); 065 } 066 067 public String code() { 068 return QuantLibJNI.Currency_code(swigCPtr, this); 069 } 070 071 public int numericCode() { 072 return QuantLibJNI.Currency_numericCode(swigCPtr, this); 073 } 074 075 public String symbol() { 076 return QuantLibJNI.Currency_symbol(swigCPtr, this); 077 } 078 079 public String fractionSymbol() { 080 return QuantLibJNI.Currency_fractionSymbol(swigCPtr, this); 081 } 082 083 public int fractionsPerUnit() { 084 return QuantLibJNI.Currency_fractionsPerUnit(swigCPtr, this); 085 } 086 087 public Rounding rounding() { 088 return new Rounding(QuantLibJNI.Currency_rounding(swigCPtr, this), false); 089 } 090 091 public String format() { 092 return QuantLibJNI.Currency_format(swigCPtr, this); 093 } 094 095 public boolean empty() { 096 return QuantLibJNI.Currency_empty(swigCPtr, this); 097 } 098 099 public Currency triangulationCurrency() { 100 return new Currency(QuantLibJNI.Currency_triangulationCurrency(swigCPtr, this), false); 101 } 102 103 public String toString() { 104 return QuantLibJNI.Currency_toString(swigCPtr, this); 105 } 106 107 public boolean equals(Currency other) { 108 return QuantLibJNI.Currency_equals(swigCPtr, this, Currency.getCPtr(other), other); 109 } 110 111 public boolean unEquals(Currency other) { 112 return QuantLibJNI.Currency_unEquals(swigCPtr, this, Currency.getCPtr(other), other); 113 } 114 115}