From ad27257db73012baf06b27f2deba52b72fea25c5 Mon Sep 17 00:00:00 2001 From: Sambo Chea Date: Wed, 26 Aug 2020 21:19:31 +0700 Subject: [PATCH] Add more functions on money --- .../com/cubetiqs/libra/moneyutils/Money.kt | 27 ++++++++++++++++--- .../libra/moneyutils/StdMoneyFormation.kt | 6 +++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 src/main/kotlin/com/cubetiqs/libra/moneyutils/StdMoneyFormation.kt diff --git a/src/main/kotlin/com/cubetiqs/libra/moneyutils/Money.kt b/src/main/kotlin/com/cubetiqs/libra/moneyutils/Money.kt index f3d0359..1e41823 100644 --- a/src/main/kotlin/com/cubetiqs/libra/moneyutils/Money.kt +++ b/src/main/kotlin/com/cubetiqs/libra/moneyutils/Money.kt @@ -1,7 +1,26 @@ package com.cubetiqs.libra.moneyutils -data class Money( - var value: Double, - var currency: String = "USD" -) +open class Money( + private var value: Double, + private var currency: String = "USD" +) : StdMoney { + override fun getValue(): Double { + return this.value + } + fun setValue(value: Double) { + this.value = value + } + + override fun getCurrency(): String { + return this.currency.toUpperCase() + } + + fun setCurrency(currency: String) { + this.currency = currency + } + + override fun toString(): String { + return "Money(value=${getValue()}, currency='${getCurrency()}')" + } +} diff --git a/src/main/kotlin/com/cubetiqs/libra/moneyutils/StdMoneyFormation.kt b/src/main/kotlin/com/cubetiqs/libra/moneyutils/StdMoneyFormation.kt new file mode 100644 index 0000000..2293f6c --- /dev/null +++ b/src/main/kotlin/com/cubetiqs/libra/moneyutils/StdMoneyFormation.kt @@ -0,0 +1,6 @@ +package com.cubetiqs.libra.moneyutils + +interface StdMoneyFormation { + fun format(): String + fun toMoneyString(overrideSymbol: Char? = null): String +} \ No newline at end of file