1 package org.djunits.unit;
2
3 import java.util.ArrayList;
4
5 import org.djunits.unit.unitsystem.UnitSystem;
6 import org.joda.money.CurrencyUnit;
7
8
9
10
11
12
13
14
15
16
17
18
19 public class MoneyUnit extends LinearUnit<MoneyUnit>
20 {
21
22
23
24
25 private static final long serialVersionUID = 20150903L;
26
27
28 private final CurrencyUnit currencyUnit;
29
30
31 private final int codeNumber;
32
33
34 private final String codeString;
35
36
37 public static final MoneyUnit AED;
38
39
40 public static final MoneyUnit AFN;
41
42
43 public static final MoneyUnit ALL;
44
45
46 public static final MoneyUnit AMD;
47
48
49 public static final MoneyUnit ANG;
50
51
52 public static final MoneyUnit AOA;
53
54
55 public static final MoneyUnit ARS;
56
57
58 public static final MoneyUnit AUD;
59
60
61 public static final MoneyUnit AWG;
62
63
64 public static final MoneyUnit AZN;
65
66
67 public static final MoneyUnit BAM;
68
69
70 public static final MoneyUnit BBD;
71
72
73 public static final MoneyUnit BDT;
74
75
76 public static final MoneyUnit BGN;
77
78
79 public static final MoneyUnit BHD;
80
81
82 public static final MoneyUnit BIF;
83
84
85 public static final MoneyUnit BMD;
86
87
88 public static final MoneyUnit BND;
89
90
91 public static final MoneyUnit BOB;
92
93
94 public static final MoneyUnit BOV;
95
96
97 public static final MoneyUnit BRL;
98
99
100 public static final MoneyUnit BSD;
101
102
103 public static final MoneyUnit BTN;
104
105
106 public static final MoneyUnit BWP;
107
108
109 public static final MoneyUnit BYN;
110
111
112 public static final MoneyUnit BYR;
113
114
115 public static final MoneyUnit BZD;
116
117
118 public static final MoneyUnit CAD;
119
120
121 public static final MoneyUnit CDF;
122
123
124 public static final MoneyUnit CHE;
125
126
127 public static final MoneyUnit CHF;
128
129
130 public static final MoneyUnit CHW;
131
132
133 public static final MoneyUnit CLF;
134
135
136 public static final MoneyUnit CLP;
137
138
139 public static final MoneyUnit CNY;
140
141
142 public static final MoneyUnit COP;
143
144
145 public static final MoneyUnit COU;
146
147
148 public static final MoneyUnit CRC;
149
150
151 public static final MoneyUnit CUC;
152
153
154 public static final MoneyUnit CUP;
155
156
157 public static final MoneyUnit CVE;
158
159
160 public static final MoneyUnit CZK;
161
162
163 public static final MoneyUnit DJF;
164
165
166 public static final MoneyUnit DKK;
167
168
169 public static final MoneyUnit DOP;
170
171
172 public static final MoneyUnit DZD;
173
174
175 public static final MoneyUnit EGP;
176
177
178 public static final MoneyUnit ERN;
179
180
181 public static final MoneyUnit ETB;
182
183
184 public static final MoneyUnit EUR;
185
186
187 public static final MoneyUnit FJD;
188
189
190 public static final MoneyUnit FKP;
191
192
193 public static final MoneyUnit GBP;
194
195
196 public static final MoneyUnit GEL;
197
198
199 public static final MoneyUnit GHS;
200
201
202 public static final MoneyUnit GIP;
203
204
205 public static final MoneyUnit GMD;
206
207
208 public static final MoneyUnit GNF;
209
210
211 public static final MoneyUnit GTQ;
212
213
214 public static final MoneyUnit GYD;
215
216
217 public static final MoneyUnit HKD;
218
219
220 public static final MoneyUnit HNL;
221
222
223 public static final MoneyUnit HRK;
224
225
226 public static final MoneyUnit HTG;
227
228
229 public static final MoneyUnit HUF;
230
231
232 public static final MoneyUnit IDR;
233
234
235 public static final MoneyUnit ILS;
236
237
238 public static final MoneyUnit INR;
239
240
241 public static final MoneyUnit IQD;
242
243
244 public static final MoneyUnit IRR;
245
246
247 public static final MoneyUnit ISK;
248
249
250 public static final MoneyUnit JMD;
251
252
253 public static final MoneyUnit JOD;
254
255
256 public static final MoneyUnit JPY;
257
258
259 public static final MoneyUnit KES;
260
261
262 public static final MoneyUnit KGS;
263
264
265 public static final MoneyUnit KHR;
266
267
268 public static final MoneyUnit KMF;
269
270
271 public static final MoneyUnit KPW;
272
273
274 public static final MoneyUnit KRW;
275
276
277 public static final MoneyUnit KWD;
278
279
280 public static final MoneyUnit KYD;
281
282
283 public static final MoneyUnit KZT;
284
285
286 public static final MoneyUnit LAK;
287
288
289 public static final MoneyUnit LBP;
290
291
292 public static final MoneyUnit LKR;
293
294
295 public static final MoneyUnit LRD;
296
297
298 public static final MoneyUnit LSL;
299
300
301 public static final MoneyUnit LYD;
302
303
304 public static final MoneyUnit MAD;
305
306
307 public static final MoneyUnit MDL;
308
309
310 public static final MoneyUnit MGA;
311
312
313 public static final MoneyUnit MKD;
314
315
316 public static final MoneyUnit MMK;
317
318
319 public static final MoneyUnit MNT;
320
321
322 public static final MoneyUnit MOP;
323
324
325 public static final MoneyUnit MRO;
326
327
328 public static final MoneyUnit MUR;
329
330
331 public static final MoneyUnit MVR;
332
333
334 public static final MoneyUnit MWK;
335
336
337 public static final MoneyUnit MXN;
338
339
340 public static final MoneyUnit MXV;
341
342
343 public static final MoneyUnit MYR;
344
345
346 public static final MoneyUnit MZN;
347
348
349 public static final MoneyUnit NAD;
350
351
352 public static final MoneyUnit NGN;
353
354
355 public static final MoneyUnit NIO;
356
357
358 public static final MoneyUnit NOK;
359
360
361 public static final MoneyUnit NPR;
362
363
364 public static final MoneyUnit NZD;
365
366
367 public static final MoneyUnit OMR;
368
369
370 public static final MoneyUnit PAB;
371
372
373 public static final MoneyUnit PEN;
374
375
376 public static final MoneyUnit PGK;
377
378
379 public static final MoneyUnit PHP;
380
381
382 public static final MoneyUnit PKR;
383
384
385 public static final MoneyUnit PLN;
386
387
388 public static final MoneyUnit PYG;
389
390
391 public static final MoneyUnit QAR;
392
393
394 public static final MoneyUnit RON;
395
396
397 public static final MoneyUnit RSD;
398
399
400 public static final MoneyUnit RUB;
401
402
403 public static final MoneyUnit RWF;
404
405
406 public static final MoneyUnit SAR;
407
408
409 public static final MoneyUnit SBD;
410
411
412 public static final MoneyUnit SCR;
413
414
415 public static final MoneyUnit SDG;
416
417
418 public static final MoneyUnit SEK;
419
420
421 public static final MoneyUnit SGD;
422
423
424 public static final MoneyUnit SHP;
425
426
427 public static final MoneyUnit SLL;
428
429
430 public static final MoneyUnit SOS;
431
432
433 public static final MoneyUnit SRD;
434
435
436 public static final MoneyUnit SSP;
437
438
439 public static final MoneyUnit STD;
440
441
442 public static final MoneyUnit SVC;
443
444
445 public static final MoneyUnit SYP;
446
447
448 public static final MoneyUnit SZL;
449
450
451 public static final MoneyUnit THB;
452
453
454 public static final MoneyUnit TJS;
455
456
457 public static final MoneyUnit TMT;
458
459
460 public static final MoneyUnit TND;
461
462
463 public static final MoneyUnit TOP;
464
465
466 public static final MoneyUnit TRY;
467
468
469 public static final MoneyUnit TTD;
470
471
472 public static final MoneyUnit TWD;
473
474
475 public static final MoneyUnit TZS;
476
477
478 public static final MoneyUnit UAH;
479
480
481 public static final MoneyUnit UGX;
482
483
484 public static final MoneyUnit USD;
485
486
487 public static final MoneyUnit USN;
488
489
490 public static final MoneyUnit UYI;
491
492
493 public static final MoneyUnit UYU;
494
495
496 public static final MoneyUnit UZS;
497
498
499 public static final MoneyUnit VEF;
500
501
502 public static final MoneyUnit VND;
503
504
505 public static final MoneyUnit VUV;
506
507
508 public static final MoneyUnit WST;
509
510
511 public static final MoneyUnit XAF;
512
513
514 public static final MoneyUnit XAG;
515
516
517 public static final MoneyUnit XAU;
518
519
520 public static final MoneyUnit XBA;
521
522
523 public static final MoneyUnit XBB;
524
525
526 public static final MoneyUnit XBC;
527
528
529 public static final MoneyUnit XBD;
530
531
532 public static final MoneyUnit XCD;
533
534
535 public static final MoneyUnit XDR;
536
537
538 public static final MoneyUnit XOF;
539
540
541 public static final MoneyUnit XPD;
542
543
544 public static final MoneyUnit XPF;
545
546
547 public static final MoneyUnit XPT;
548
549
550 public static final MoneyUnit XSU;
551
552
553 public static final MoneyUnit XTS;
554
555
556 public static final MoneyUnit XUA;
557
558
559 public static final MoneyUnit XXX;
560
561
562 public static final MoneyUnit YER;
563
564
565 public static final MoneyUnit ZAR;
566
567
568 public static final MoneyUnit ZMW;
569
570
571 public static final MoneyUnit ZWL;
572
573
574 public static final MoneyUnit XBT;
575
576
577 private static MoneyUnit standardMoneyUnit;
578
579 static
580 {
581 CurrencyUnit.registerCurrency("BOV", 984, 2, new ArrayList<String>());
582 CurrencyUnit.registerCurrency("BYR", 974, 0, new ArrayList<String>());
583 CurrencyUnit.registerCurrency("CHE", 947, 2, new ArrayList<String>());
584 CurrencyUnit.registerCurrency("CHW", 948, 2, new ArrayList<String>());
585 CurrencyUnit.registerCurrency("CLF", 990, 4, new ArrayList<String>());
586 CurrencyUnit.registerCurrency("COU", 970, 2, new ArrayList<String>());
587 CurrencyUnit.registerCurrency("CUC", 931, 2, new ArrayList<String>());
588 CurrencyUnit.registerCurrency("MXV", 979, 2, new ArrayList<String>());
589 CurrencyUnit.registerCurrency("USN", 997, 2, new ArrayList<String>());
590 CurrencyUnit.registerCurrency("UYI", 940, 0, new ArrayList<String>());
591 CurrencyUnit.registerCurrency("XBT", -1, 8, new ArrayList<String>());
592
593 AED = new MoneyUnit(CurrencyUnit.getInstance("AED"), "MoneyUnit.AED");
594 AFN = new MoneyUnit(CurrencyUnit.getInstance("AFN"), "MoneyUnit.AFN");
595 ALL = new MoneyUnit(CurrencyUnit.getInstance("ALL"), "MoneyUnit.ALL");
596 AMD = new MoneyUnit(CurrencyUnit.getInstance("AMD"), "MoneyUnit.AMD");
597 ANG = new MoneyUnit(CurrencyUnit.getInstance("ANG"), "MoneyUnit.ANG");
598 AOA = new MoneyUnit(CurrencyUnit.getInstance("AOA"), "MoneyUnit.AOA");
599 ARS = new MoneyUnit(CurrencyUnit.getInstance("ARS"), "MoneyUnit.ARS");
600 AUD = new MoneyUnit(CurrencyUnit.getInstance("AUD"), "MoneyUnit.AUD");
601 AWG = new MoneyUnit(CurrencyUnit.getInstance("AWG"), "MoneyUnit.AWG");
602 AZN = new MoneyUnit(CurrencyUnit.getInstance("AZN"), "MoneyUnit.AZN");
603 BAM = new MoneyUnit(CurrencyUnit.getInstance("BAM"), "MoneyUnit.BAM");
604 BBD = new MoneyUnit(CurrencyUnit.getInstance("BBD"), "MoneyUnit.BBD");
605 BDT = new MoneyUnit(CurrencyUnit.getInstance("BDT"), "MoneyUnit.BDT");
606 BGN = new MoneyUnit(CurrencyUnit.getInstance("BGN"), "MoneyUnit.BGN");
607 BHD = new MoneyUnit(CurrencyUnit.getInstance("BHD"), "MoneyUnit.BHD");
608 BIF = new MoneyUnit(CurrencyUnit.getInstance("BIF"), "MoneyUnit.BIF");
609 BMD = new MoneyUnit(CurrencyUnit.getInstance("BMD"), "MoneyUnit.BMD");
610 BND = new MoneyUnit(CurrencyUnit.getInstance("BND"), "MoneyUnit.BND");
611 BOB = new MoneyUnit(CurrencyUnit.getInstance("BOB"), "MoneyUnit.BOB");
612 BOV = new MoneyUnit(CurrencyUnit.getInstance("BOV"), "MoneyUnit.BOV");
613 BRL = new MoneyUnit(CurrencyUnit.getInstance("BRL"), "MoneyUnit.BRL");
614 BSD = new MoneyUnit(CurrencyUnit.getInstance("BSD"), "MoneyUnit.BSD");
615 BTN = new MoneyUnit(CurrencyUnit.getInstance("BTN"), "MoneyUnit.BTN");
616 BWP = new MoneyUnit(CurrencyUnit.getInstance("BWP"), "MoneyUnit.BWP");
617 BYN = new MoneyUnit(CurrencyUnit.getInstance("BYN"), "MoneyUnit.BYN");
618 BYR = new MoneyUnit(CurrencyUnit.getInstance("BYR"), "MoneyUnit.BYR");
619 BZD = new MoneyUnit(CurrencyUnit.getInstance("BZD"), "MoneyUnit.BZD");
620 CAD = new MoneyUnit(CurrencyUnit.getInstance("CAD"), "MoneyUnit.CAD");
621 CDF = new MoneyUnit(CurrencyUnit.getInstance("CDF"), "MoneyUnit.CDF");
622 CHE = new MoneyUnit(CurrencyUnit.getInstance("CHE"), "MoneyUnit.CHE");
623 CHF = new MoneyUnit(CurrencyUnit.getInstance("CHF"), "MoneyUnit.CHF");
624 CHW = new MoneyUnit(CurrencyUnit.getInstance("CHW"), "MoneyUnit.CHW");
625 CLF = new MoneyUnit(CurrencyUnit.getInstance("CLF"), "MoneyUnit.CLF");
626 CLP = new MoneyUnit(CurrencyUnit.getInstance("CLP"), "MoneyUnit.CLP");
627 CNY = new MoneyUnit(CurrencyUnit.getInstance("CNY"), "MoneyUnit.CNY");
628 COP = new MoneyUnit(CurrencyUnit.getInstance("COP"), "MoneyUnit.COP");
629 COU = new MoneyUnit(CurrencyUnit.getInstance("COU"), "MoneyUnit.COU");
630 CRC = new MoneyUnit(CurrencyUnit.getInstance("CRC"), "MoneyUnit.CRC");
631 CUC = new MoneyUnit(CurrencyUnit.getInstance("CUC"), "MoneyUnit.CUC");
632 CUP = new MoneyUnit(CurrencyUnit.getInstance("CUP"), "MoneyUnit.CUP");
633 CVE = new MoneyUnit(CurrencyUnit.getInstance("CVE"), "MoneyUnit.CVE");
634 CZK = new MoneyUnit(CurrencyUnit.getInstance("CZK"), "MoneyUnit.CZK");
635 DJF = new MoneyUnit(CurrencyUnit.getInstance("DJF"), "MoneyUnit.DJF");
636 DKK = new MoneyUnit(CurrencyUnit.getInstance("DKK"), "MoneyUnit.DKK");
637 DOP = new MoneyUnit(CurrencyUnit.getInstance("DOP"), "MoneyUnit.DOP");
638 DZD = new MoneyUnit(CurrencyUnit.getInstance("DZD"), "MoneyUnit.DZD");
639 EGP = new MoneyUnit(CurrencyUnit.getInstance("EGP"), "MoneyUnit.EGP");
640 ERN = new MoneyUnit(CurrencyUnit.getInstance("ERN"), "MoneyUnit.ERN");
641 ETB = new MoneyUnit(CurrencyUnit.getInstance("ETB"), "MoneyUnit.ETB");
642 EUR = new MoneyUnit(CurrencyUnit.getInstance("EUR"), "MoneyUnit.EUR");
643 FJD = new MoneyUnit(CurrencyUnit.getInstance("FJD"), "MoneyUnit.FJD");
644 FKP = new MoneyUnit(CurrencyUnit.getInstance("FKP"), "MoneyUnit.FKP");
645 GBP = new MoneyUnit(CurrencyUnit.getInstance("GBP"), "MoneyUnit.GBP");
646 GEL = new MoneyUnit(CurrencyUnit.getInstance("GEL"), "MoneyUnit.GEL");
647 GHS = new MoneyUnit(CurrencyUnit.getInstance("GHS"), "MoneyUnit.GHS");
648 GIP = new MoneyUnit(CurrencyUnit.getInstance("GIP"), "MoneyUnit.GIP");
649 GMD = new MoneyUnit(CurrencyUnit.getInstance("GMD"), "MoneyUnit.GMD");
650 GNF = new MoneyUnit(CurrencyUnit.getInstance("GNF"), "MoneyUnit.GNF");
651 GTQ = new MoneyUnit(CurrencyUnit.getInstance("GTQ"), "MoneyUnit.GTQ");
652 GYD = new MoneyUnit(CurrencyUnit.getInstance("GYD"), "MoneyUnit.GYD");
653 HKD = new MoneyUnit(CurrencyUnit.getInstance("HKD"), "MoneyUnit.HKD");
654 HNL = new MoneyUnit(CurrencyUnit.getInstance("HNL"), "MoneyUnit.HNL");
655 HRK = new MoneyUnit(CurrencyUnit.getInstance("HRK"), "MoneyUnit.HRK");
656 HTG = new MoneyUnit(CurrencyUnit.getInstance("HTG"), "MoneyUnit.HTG");
657 HUF = new MoneyUnit(CurrencyUnit.getInstance("HUF"), "MoneyUnit.HUF");
658 IDR = new MoneyUnit(CurrencyUnit.getInstance("IDR"), "MoneyUnit.IDR");
659 ILS = new MoneyUnit(CurrencyUnit.getInstance("ILS"), "MoneyUnit.ILS");
660 INR = new MoneyUnit(CurrencyUnit.getInstance("INR"), "MoneyUnit.INR");
661 IQD = new MoneyUnit(CurrencyUnit.getInstance("IQD"), "MoneyUnit.IQD");
662 IRR = new MoneyUnit(CurrencyUnit.getInstance("IRR"), "MoneyUnit.IRR");
663 ISK = new MoneyUnit(CurrencyUnit.getInstance("ISK"), "MoneyUnit.ISK");
664 JMD = new MoneyUnit(CurrencyUnit.getInstance("JMD"), "MoneyUnit.JMD");
665 JOD = new MoneyUnit(CurrencyUnit.getInstance("JOD"), "MoneyUnit.JOD");
666 JPY = new MoneyUnit(CurrencyUnit.getInstance("JPY"), "MoneyUnit.JPY");
667 KES = new MoneyUnit(CurrencyUnit.getInstance("KES"), "MoneyUnit.KES");
668 KGS = new MoneyUnit(CurrencyUnit.getInstance("KGS"), "MoneyUnit.KGS");
669 KHR = new MoneyUnit(CurrencyUnit.getInstance("KHR"), "MoneyUnit.KHR");
670 KMF = new MoneyUnit(CurrencyUnit.getInstance("KMF"), "MoneyUnit.KMF");
671 KPW = new MoneyUnit(CurrencyUnit.getInstance("KPW"), "MoneyUnit.KPW");
672 KRW = new MoneyUnit(CurrencyUnit.getInstance("KRW"), "MoneyUnit.KRW");
673 KWD = new MoneyUnit(CurrencyUnit.getInstance("KWD"), "MoneyUnit.KWD");
674 KYD = new MoneyUnit(CurrencyUnit.getInstance("KYD"), "MoneyUnit.KYD");
675 KZT = new MoneyUnit(CurrencyUnit.getInstance("KZT"), "MoneyUnit.KZT");
676 LAK = new MoneyUnit(CurrencyUnit.getInstance("LAK"), "MoneyUnit.LAK");
677 LBP = new MoneyUnit(CurrencyUnit.getInstance("LBP"), "MoneyUnit.LBP");
678 LKR = new MoneyUnit(CurrencyUnit.getInstance("LKR"), "MoneyUnit.LKR");
679 LRD = new MoneyUnit(CurrencyUnit.getInstance("LRD"), "MoneyUnit.LRD");
680 LSL = new MoneyUnit(CurrencyUnit.getInstance("LSL"), "MoneyUnit.LSL");
681 LYD = new MoneyUnit(CurrencyUnit.getInstance("LYD"), "MoneyUnit.LYD");
682 MAD = new MoneyUnit(CurrencyUnit.getInstance("MAD"), "MoneyUnit.MAD");
683 MDL = new MoneyUnit(CurrencyUnit.getInstance("MDL"), "MoneyUnit.MDL");
684 MGA = new MoneyUnit(CurrencyUnit.getInstance("MGA"), "MoneyUnit.MGA");
685 MKD = new MoneyUnit(CurrencyUnit.getInstance("MKD"), "MoneyUnit.MKD");
686 MMK = new MoneyUnit(CurrencyUnit.getInstance("MMK"), "MoneyUnit.MMK");
687 MNT = new MoneyUnit(CurrencyUnit.getInstance("MNT"), "MoneyUnit.MNT");
688 MOP = new MoneyUnit(CurrencyUnit.getInstance("MOP"), "MoneyUnit.MOP");
689 MRO = new MoneyUnit(CurrencyUnit.getInstance("MRO"), "MoneyUnit.MRO");
690 MUR = new MoneyUnit(CurrencyUnit.getInstance("MUR"), "MoneyUnit.MUR");
691 MVR = new MoneyUnit(CurrencyUnit.getInstance("MVR"), "MoneyUnit.MVR");
692 MWK = new MoneyUnit(CurrencyUnit.getInstance("MWK"), "MoneyUnit.MWK");
693 MXN = new MoneyUnit(CurrencyUnit.getInstance("MXN"), "MoneyUnit.MXN");
694 MXV = new MoneyUnit(CurrencyUnit.getInstance("MXV"), "MoneyUnit.MXV");
695 MYR = new MoneyUnit(CurrencyUnit.getInstance("MYR"), "MoneyUnit.MYR");
696 MZN = new MoneyUnit(CurrencyUnit.getInstance("MZN"), "MoneyUnit.MZN");
697 NAD = new MoneyUnit(CurrencyUnit.getInstance("NAD"), "MoneyUnit.NAD");
698 NGN = new MoneyUnit(CurrencyUnit.getInstance("NGN"), "MoneyUnit.NGN");
699 NIO = new MoneyUnit(CurrencyUnit.getInstance("NIO"), "MoneyUnit.NIO");
700 NOK = new MoneyUnit(CurrencyUnit.getInstance("NOK"), "MoneyUnit.NOK");
701 NPR = new MoneyUnit(CurrencyUnit.getInstance("NPR"), "MoneyUnit.NPR");
702 NZD = new MoneyUnit(CurrencyUnit.getInstance("NZD"), "MoneyUnit.NZD");
703 OMR = new MoneyUnit(CurrencyUnit.getInstance("OMR"), "MoneyUnit.OMR");
704 PAB = new MoneyUnit(CurrencyUnit.getInstance("PAB"), "MoneyUnit.PAB");
705 PEN = new MoneyUnit(CurrencyUnit.getInstance("PEN"), "MoneyUnit.PEN");
706 PGK = new MoneyUnit(CurrencyUnit.getInstance("PGK"), "MoneyUnit.PGK");
707 PHP = new MoneyUnit(CurrencyUnit.getInstance("PHP"), "MoneyUnit.PHP");
708 PKR = new MoneyUnit(CurrencyUnit.getInstance("PKR"), "MoneyUnit.PKR");
709 PLN = new MoneyUnit(CurrencyUnit.getInstance("PLN"), "MoneyUnit.PLN");
710 PYG = new MoneyUnit(CurrencyUnit.getInstance("PYG"), "MoneyUnit.PYG");
711 QAR = new MoneyUnit(CurrencyUnit.getInstance("QAR"), "MoneyUnit.QAR");
712 RON = new MoneyUnit(CurrencyUnit.getInstance("RON"), "MoneyUnit.RON");
713 RSD = new MoneyUnit(CurrencyUnit.getInstance("RSD"), "MoneyUnit.RSD");
714 RUB = new MoneyUnit(CurrencyUnit.getInstance("RUB"), "MoneyUnit.RUB");
715 RWF = new MoneyUnit(CurrencyUnit.getInstance("RWF"), "MoneyUnit.RWF");
716 SAR = new MoneyUnit(CurrencyUnit.getInstance("SAR"), "MoneyUnit.SAR");
717 SBD = new MoneyUnit(CurrencyUnit.getInstance("SBD"), "MoneyUnit.SBD");
718 SCR = new MoneyUnit(CurrencyUnit.getInstance("SCR"), "MoneyUnit.SCR");
719 SDG = new MoneyUnit(CurrencyUnit.getInstance("SDG"), "MoneyUnit.SDG");
720 SEK = new MoneyUnit(CurrencyUnit.getInstance("SEK"), "MoneyUnit.SEK");
721 SGD = new MoneyUnit(CurrencyUnit.getInstance("SGD"), "MoneyUnit.SGD");
722 SHP = new MoneyUnit(CurrencyUnit.getInstance("SHP"), "MoneyUnit.SHP");
723 SLL = new MoneyUnit(CurrencyUnit.getInstance("SLL"), "MoneyUnit.SLL");
724 SOS = new MoneyUnit(CurrencyUnit.getInstance("SOS"), "MoneyUnit.SOS");
725 SRD = new MoneyUnit(CurrencyUnit.getInstance("SRD"), "MoneyUnit.SRD");
726 SSP = new MoneyUnit(CurrencyUnit.getInstance("SSP"), "MoneyUnit.SSP");
727 STD = new MoneyUnit(CurrencyUnit.getInstance("STD"), "MoneyUnit.STD");
728 SVC = new MoneyUnit(CurrencyUnit.getInstance("SVC"), "MoneyUnit.SVC");
729 SYP = new MoneyUnit(CurrencyUnit.getInstance("SYP"), "MoneyUnit.SYP");
730 SZL = new MoneyUnit(CurrencyUnit.getInstance("SZL"), "MoneyUnit.SZL");
731 THB = new MoneyUnit(CurrencyUnit.getInstance("THB"), "MoneyUnit.THB");
732 TJS = new MoneyUnit(CurrencyUnit.getInstance("TJS"), "MoneyUnit.TJS");
733 TMT = new MoneyUnit(CurrencyUnit.getInstance("TMT"), "MoneyUnit.TMT");
734 TND = new MoneyUnit(CurrencyUnit.getInstance("TND"), "MoneyUnit.TND");
735 TOP = new MoneyUnit(CurrencyUnit.getInstance("TOP"), "MoneyUnit.TOP");
736 TRY = new MoneyUnit(CurrencyUnit.getInstance("TRY"), "MoneyUnit.TRY");
737 TTD = new MoneyUnit(CurrencyUnit.getInstance("TTD"), "MoneyUnit.TTD");
738 TWD = new MoneyUnit(CurrencyUnit.getInstance("TWD"), "MoneyUnit.TWD");
739 TZS = new MoneyUnit(CurrencyUnit.getInstance("TZS"), "MoneyUnit.TZS");
740 UAH = new MoneyUnit(CurrencyUnit.getInstance("UAH"), "MoneyUnit.UAH");
741 UGX = new MoneyUnit(CurrencyUnit.getInstance("UGX"), "MoneyUnit.UGX");
742 USD = new MoneyUnit(CurrencyUnit.getInstance("USD"), "MoneyUnit.USD");
743 USN = new MoneyUnit(CurrencyUnit.getInstance("USN"), "MoneyUnit.USN");
744 UYI = new MoneyUnit(CurrencyUnit.getInstance("UYI"), "MoneyUnit.UYI");
745 UYU = new MoneyUnit(CurrencyUnit.getInstance("UYU"), "MoneyUnit.UYU");
746 UZS = new MoneyUnit(CurrencyUnit.getInstance("UZS"), "MoneyUnit.UZS");
747 VEF = new MoneyUnit(CurrencyUnit.getInstance("VEF"), "MoneyUnit.VEF");
748 VND = new MoneyUnit(CurrencyUnit.getInstance("VND"), "MoneyUnit.VND");
749 VUV = new MoneyUnit(CurrencyUnit.getInstance("VUV"), "MoneyUnit.VUV");
750 WST = new MoneyUnit(CurrencyUnit.getInstance("WST"), "MoneyUnit.WST");
751 XAF = new MoneyUnit(CurrencyUnit.getInstance("XAF"), "MoneyUnit.XAF");
752 XAG = new MoneyUnit(CurrencyUnit.getInstance("XAG"), "MoneyUnit.XAG");
753 XAU = new MoneyUnit(CurrencyUnit.getInstance("XAU"), "MoneyUnit.XAU");
754 XBA = new MoneyUnit(CurrencyUnit.getInstance("XBA"), "MoneyUnit.XBA");
755 XBB = new MoneyUnit(CurrencyUnit.getInstance("XBB"), "MoneyUnit.XBB");
756 XBC = new MoneyUnit(CurrencyUnit.getInstance("XBC"), "MoneyUnit.XBC");
757 XBD = new MoneyUnit(CurrencyUnit.getInstance("XBD"), "MoneyUnit.XBD");
758 XCD = new MoneyUnit(CurrencyUnit.getInstance("XCD"), "MoneyUnit.XCD");
759 XDR = new MoneyUnit(CurrencyUnit.getInstance("XDR"), "MoneyUnit.XDR");
760 XOF = new MoneyUnit(CurrencyUnit.getInstance("XOF"), "MoneyUnit.XOF");
761 XPD = new MoneyUnit(CurrencyUnit.getInstance("XPD"), "MoneyUnit.XPD");
762 XPF = new MoneyUnit(CurrencyUnit.getInstance("XPF"), "MoneyUnit.XPF");
763 XPT = new MoneyUnit(CurrencyUnit.getInstance("XPT"), "MoneyUnit.XPT");
764 XSU = new MoneyUnit(CurrencyUnit.getInstance("XSU"), "MoneyUnit.XSU");
765 XTS = new MoneyUnit(CurrencyUnit.getInstance("XTS"), "MoneyUnit.XTS");
766 XUA = new MoneyUnit(CurrencyUnit.getInstance("XUA"), "MoneyUnit.XUA");
767 XXX = new MoneyUnit(CurrencyUnit.getInstance("XXX"), "MoneyUnit.XXX");
768 YER = new MoneyUnit(CurrencyUnit.getInstance("YER"), "MoneyUnit.YER");
769 ZAR = new MoneyUnit(CurrencyUnit.getInstance("ZAR"), "MoneyUnit.ZAR");
770 ZMW = new MoneyUnit(CurrencyUnit.getInstance("ZMW"), "MoneyUnit.ZMW");
771 ZWL = new MoneyUnit(CurrencyUnit.getInstance("ZWL"), "MoneyUnit.ZWL");
772 XBT = new MoneyUnit(CurrencyUnit.getInstance("XBT"), "MoneyUnit.XBT");
773
774 standardMoneyUnit = USD;
775 }
776
777
778
779
780
781
782 private MoneyUnit(final CurrencyUnit currencyUnit, final String abbreviationKey)
783 {
784 super(abbreviationKey, UnitSystem.OTHER);
785 this.currencyUnit = currencyUnit;
786 this.codeNumber = currencyUnit.getNumericCode();
787 this.codeString = currencyUnit.getCode();
788 }
789
790
791
792
793
794
795
796 public MoneyUnit(final CurrencyUnit currencyUnit, final String name, final String abbreviation)
797 {
798 super(name, abbreviation, UnitSystem.OTHER);
799 this.currencyUnit = currencyUnit;
800 this.codeNumber = currencyUnit.getNumericCode();
801 this.codeString = currencyUnit.getCode();
802 }
803
804
805
806
807
808
809
810
811
812 private MoneyUnit(final CurrencyUnit currencyUnit, final String abbreviationKey, final MoneyUnit referenceUnit,
813 final double scaleFactorToReferenceUnit)
814 {
815 super(abbreviationKey, UnitSystem.OTHER, referenceUnit, scaleFactorToReferenceUnit);
816 this.currencyUnit = currencyUnit;
817 this.codeNumber = currencyUnit.getNumericCode();
818 this.codeString = currencyUnit.getCode();
819 }
820
821
822
823
824
825
826
827
828
829
830 public MoneyUnit(final CurrencyUnit currencyUnit, final String name, final String abbreviation,
831 final MoneyUnit referenceUnit, final double scaleFactorToReferenceUnit)
832 {
833 super(name, abbreviation, UnitSystem.OTHER, referenceUnit, scaleFactorToReferenceUnit);
834 this.currencyUnit = currencyUnit;
835 this.codeNumber = currencyUnit.getNumericCode();
836 this.codeString = currencyUnit.getCode();
837 }
838
839
840
841
842 public final CurrencyUnit getCurrencyUnit()
843 {
844 return this.currencyUnit;
845 }
846
847
848
849
850
851 public static final void setStandardUnit(final MoneyUnit moneyUnit)
852 {
853 standardMoneyUnit = moneyUnit;
854 MoneyPerAreaUnit.setStandardUnit(moneyUnit);
855 MoneyPerEnergyUnit.setStandardUnit(moneyUnit);
856 MoneyPerLengthUnit.setStandardUnit(moneyUnit);
857 MoneyPerMassUnit.setStandardUnit(moneyUnit);
858 MoneyPerDurationUnit.setStandardUnit(moneyUnit);
859 MoneyPerVolumeUnit.setStandardUnit(moneyUnit);
860 }
861
862
863 @Override
864 public final MoneyUnit getStandardUnit()
865 {
866 return standardMoneyUnit;
867 }
868
869
870
871
872 public static final MoneyUnit getStandardMoneyUnit()
873 {
874 return standardMoneyUnit;
875 }
876
877
878 @Override
879 public final String getSICoefficientsString()
880 {
881 return "1";
882 }
883
884
885 @Override
886 public int hashCode()
887 {
888 final int prime = 31;
889 int result = super.hashCode();
890 result = prime * result + this.codeNumber;
891 result = prime * result + ((this.codeString == null) ? 0 : this.codeString.hashCode());
892 return result;
893 }
894
895
896 @SuppressWarnings("checkstyle:needbraces")
897 @Override
898 public boolean equals(final Object obj)
899 {
900 if (this == obj)
901 return true;
902 if (!super.equals(obj))
903 return false;
904 if (getClass() != obj.getClass())
905 return false;
906 MoneyUnit other = (MoneyUnit) obj;
907 if (this.codeNumber != other.codeNumber)
908 return false;
909 if (this.codeString == null)
910 {
911 if (other.codeString != null)
912 return false;
913 }
914 else if (!this.codeString.equals(other.codeString))
915 return false;
916 return true;
917 }
918
919
920 @SuppressWarnings("checkstyle:needbraces")
921 @Override
922 public boolean equalsIgnoreNaming(final Object obj)
923 {
924
925 if (this == obj)
926 return true;
927 if (getClass() != obj.getClass())
928 return false;
929 MoneyUnit other = (MoneyUnit) obj;
930 return (this.codeNumber == other.codeNumber);
931 }
932
933 }