File: Money.java

package info (click to toggle)
quantlib-swig 1.15-1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 103,484 kB
  • sloc: cpp: 2,029,354; cs: 61,237; java: 45,425; perl: 27,362; python: 22,024; ruby: 989; sh: 741; makefile: 319
file content (147 lines) | stat: -rw-r--r-- 4,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package org.quantlib;

public class Money {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected Money(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(Money obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        QuantLibJNI.delete_Money(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public Money(Currency currency, double value) {
    this(QuantLibJNI.new_Money__SWIG_0(Currency.getCPtr(currency), currency, value), true);
  }

  public Money(double value, Currency currency) {
    this(QuantLibJNI.new_Money__SWIG_1(value, Currency.getCPtr(currency), currency), true);
  }

  public Currency currency() {
    return new Currency(QuantLibJNI.Money_currency(swigCPtr, this), false);
  }

  public double value() {
    return QuantLibJNI.Money_value(swigCPtr, this);
  }

  public Money rounded() {
    return new Money(QuantLibJNI.Money_rounded(swigCPtr, this), true);
  }

  public Money add() {
    return new Money(QuantLibJNI.Money_add__SWIG_0(swigCPtr, this), true);
  }

  public Money subtract() {
    return new Money(QuantLibJNI.Money_subtract__SWIG_0(swigCPtr, this), true);
  }

  public Money add(Money m) {
    return new Money(QuantLibJNI.Money_add__SWIG_1(swigCPtr, this, Money.getCPtr(m), m), true);
  }

  public Money subtract(Money m) {
    return new Money(QuantLibJNI.Money_subtract__SWIG_1(swigCPtr, this, Money.getCPtr(m), m), true);
  }

  public Money multiply(double x) {
    return new Money(QuantLibJNI.Money_multiply(swigCPtr, this, x), true);
  }

  public Money divide(double x) {
    return new Money(QuantLibJNI.Money_divide__SWIG_0(swigCPtr, this, x), true);
  }

  public double divide(Money m) {
    return QuantLibJNI.Money_divide__SWIG_1(swigCPtr, this, Money.getCPtr(m), m);
  }

  public int compare(Money other) {
    return QuantLibJNI.Money_compare(swigCPtr, this, Money.getCPtr(other), other);
  }

  public String toString() {
    return QuantLibJNI.Money_toString(swigCPtr, this);
  }

  public static void setConversionType(Money.ConversionType type) {
    QuantLibJNI.Money_setConversionType(type.swigValue());
  }

  public static void setBaseCurrency(Currency c) {
    QuantLibJNI.Money_setBaseCurrency(Currency.getCPtr(c), c);
  }

  public final static class ConversionType {
    public final static Money.ConversionType NoConversion = new Money.ConversionType("NoConversion");
    public final static Money.ConversionType BaseCurrencyConversion = new Money.ConversionType("BaseCurrencyConversion");
    public final static Money.ConversionType AutomatedConversion = new Money.ConversionType("AutomatedConversion");

    public final int swigValue() {
      return swigValue;
    }

    public String toString() {
      return swigName;
    }

    public static ConversionType swigToEnum(int swigValue) {
      if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
        return swigValues[swigValue];
      for (int i = 0; i < swigValues.length; i++)
        if (swigValues[i].swigValue == swigValue)
          return swigValues[i];
      throw new IllegalArgumentException("No enum " + ConversionType.class + " with value " + swigValue);
    }

    private ConversionType(String swigName) {
      this.swigName = swigName;
      this.swigValue = swigNext++;
    }

    private ConversionType(String swigName, int swigValue) {
      this.swigName = swigName;
      this.swigValue = swigValue;
      swigNext = swigValue+1;
    }

    private ConversionType(String swigName, ConversionType swigEnum) {
      this.swigName = swigName;
      this.swigValue = swigEnum.swigValue;
      swigNext = this.swigValue+1;
    }

    private static ConversionType[] swigValues = { NoConversion, BaseCurrencyConversion, AutomatedConversion };
    private static int swigNext = 0;
    private final int swigValue;
    private final String swigName;
  }

}