From 070fd9b7d3793082e447d7713d1dda932f237c99 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 18 Mar 2020 15:54:36 -0300 Subject: Factor out some cashier code into common library --- cashier/src/main/java/net/taler/cashier/Amount.kt | 45 ----------------------- 1 file changed, 45 deletions(-) delete mode 100644 cashier/src/main/java/net/taler/cashier/Amount.kt (limited to 'cashier/src/main/java/net/taler/cashier/Amount.kt') diff --git a/cashier/src/main/java/net/taler/cashier/Amount.kt b/cashier/src/main/java/net/taler/cashier/Amount.kt deleted file mode 100644 index 2c237c8..0000000 --- a/cashier/src/main/java/net/taler/cashier/Amount.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see - */ - -package net.taler.cashier - -data class Amount(val currency: String, val amount: String) { - - companion object { - - private val SIGNED_REGEX = Regex("""([+\-])(\w+):([0-9.]+)""") - - @Suppress("unused") - fun fromString(strAmount: String): Amount { - val components = strAmount.split(":") - return Amount(components[0], components[1]) - } - - fun fromStringSigned(strAmount: String): Amount? { - val groups = SIGNED_REGEX.matchEntire(strAmount)?.groupValues ?: emptyList() - if (groups.size < 4) return null - var amount = groups[3].toDoubleOrNull() ?: return null - if (groups[1] == "-") amount *= -1 - val currency = groups[2] - val amountStr = amount.toString() - // only display as many digits as required to precisely render the balance - return Amount(currency, amountStr.removeSuffix(".0")) - } - } - - override fun toString() = "$amount $currency" - -} -- cgit v1.2.3