/* * Copyright 2014 http://Bither.net * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.bither.utils; import net.bither.bitherj.BitherjSettings; import net.bither.bitherj.BitherjSettings.MarketType; import net.bither.model.Market; import net.bither.model.Ticker; import net.bither.preference.UserPreference; import java.util.ArrayList; import java.util.List; public class MarketUtil { public static class MarketTypeMode { private MarketType marketType; public MarketTypeMode(MarketType marketType) { this.marketType = marketType; } public MarketType getMarketType() { return this.marketType; } @Override public String toString() { return getMarketName(this.marketType); } } public static String getMarketName(MarketType marketType) { String name = " "; switch (marketType) { case HUOBI: return LocaliserUtils.getString("market_name_huobi"); case BITSTAMP: return LocaliserUtils.getString("market_name_bitstamp"); case BTCE: return LocaliserUtils.getString("market_name_btce"); case OKCOIN: return LocaliserUtils.getString("market_name_okcoin"); case CHBTC: return LocaliserUtils.getString("market_name_chbtc"); case BTCCHINA: return LocaliserUtils.getString("market_name_btcchina"); case BITFINEX: return LocaliserUtils.getString("market_name_bitfinex"); case MARKET796: return LocaliserUtils.getString("market_name_796"); case COINBASE: return LocaliserUtils.getString("market_name_btctrade"); case BTCTRADE: return LocaliserUtils.getString("market_name_coinbase"); default: break; } return name; } private static ArrayList<Market> markets = new ArrayList<Market>(); public static ArrayList<Market> getMarkets() { synchronized (markets) { if (markets.size() == 0) { for (MarketType marketType : MarketType.values()) { markets.add(new Market(marketType)); } } return markets; } } public static Market getMarket(MarketType marketType) { if (markets.size() == 0) { getMarkets(); } synchronized (markets) { if (markets.size() > 0) { for (Market market : markets) { if (market.getMarketType() == marketType) { return market; } } } return null; } } public static Market getDefaultMarket() { MarketType marketType = UserPreference.getInstance() .getDefaultMarket(); Market market = getMarket(marketType); return market; } public static Ticker getTickerOfDefaultMarket() { Market market = getDefaultMarket(); if (market != null) { return market.getTicker(); } return null; } public static void setTickerList(List<Ticker> tickerList) { if (tickerList != null && tickerList.size() > 0) { synchronized (markets) { for (Ticker ticker : tickerList) { Market market = getMarket(ticker.getMarketType()); if (market != null) { market.setTicker(ticker); } } } } } }