From 36e71e090d33b27c56fd197bc5c8577bafea9c45 Mon Sep 17 00:00:00 2001 From: romanornr Date: Tue, 7 Nov 2017 21:55:32 +0100 Subject: [PATCH] Viacoin: FixPriceRateSource --- .../viacoin/sources/FixPriceRateSource.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/viacoin/sources/FixPriceRateSource.java diff --git a/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/viacoin/sources/FixPriceRateSource.java b/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/viacoin/sources/FixPriceRateSource.java new file mode 100644 index 0000000..5e77a67 --- /dev/null +++ b/server_extensions_extra/src/main/java/com/generalbytes/batm/server/extensions/extra/viacoin/sources/FixPriceRateSource.java @@ -0,0 +1,55 @@ +package com.generalbytes.batm.server.extensions.extra.viacoin.sources; + +import com.generalbytes.batm.server.extensions.ICurrencies; +import com.generalbytes.batm.server.extensions.IRateSource; + +import java.math.BigDecimal; +import java.util.HashSet; +import java.util.Set; + +/** +* Classes implementing this interface are used by the server to obtain price of specified cryptocurrency in fiat currency +*/ +public class FixPriceRateSource implements IRateSource { + private BigDecimal rate = BigDecimal.ZERO; + + private String preferedFiatCurrency = ICurrencies.USD; + + public FixPriceRateSource(BigDecimal rate, String preferedFiatCurrency) + this.rate = rate; + if(ICurrencies.EUR.equalsIgnoreCase(preferedFiatCurrency)){ + this.preferedFiatCurrency = ICurrencies.EUR; + } + if(ICurrencies.USD.equalsIgnoreCase(preferedFiatCurrency)){ + this.preferedFiatCurrency = ICurrencies.USD; + } + } + + @Override + public Set getCryptoCurrencies() { + Set result = new HashSet(); + result.add(ICurrencies.VIA); + return result; + } + + @Override + public BigDecimal getExchangeRateLast(String cryptoCurrency, String fiatCurrency){ + if(ICurrencies.VIA.equalsIgnoreCase(cryptoCurrency)){ + return rate; + } + return null; + } + + @Override + public Set getFiatCurrencies(){ + Set result = new HashSet(); + result.add(ICurrencies.USD); + result.add(ICurrencies.EUR); + return result; + } + + @Override + public String getPreferredFiatCurrency(){ + return preferedFiatCurrency; + } +} \ No newline at end of file