package org.knowm.xchange.quadrigacx.service; import java.io.IOException; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.quadrigacx.QuadrigaCx; import org.knowm.xchange.quadrigacx.dto.marketdata.QuadrigaCxOrderBook; import org.knowm.xchange.quadrigacx.dto.marketdata.QuadrigaCxTicker; import org.knowm.xchange.quadrigacx.dto.marketdata.QuadrigaCxTransaction; import si.mazi.rescu.RestProxyFactory; public class QuadrigaCxMarketDataServiceRaw extends QuadrigaCxBaseService { private final QuadrigaCx quadrigacx; public QuadrigaCxMarketDataServiceRaw(Exchange exchange) { super(exchange); this.quadrigacx = RestProxyFactory.createProxy(QuadrigaCx.class, exchange.getExchangeSpecification().getSslUri()); } public QuadrigaCxOrderBook getQuadrigaCxOrderBook(CurrencyPair currencyPair) throws IOException { return quadrigacx.getOrderBook(currencyPair.base.getCurrencyCode().toLowerCase(), currencyPair.counter.getCurrencyCode().toLowerCase()); } public QuadrigaCxTransaction[] getQuadrigaCxTransactions(CurrencyPair currencyPair, Object... args) throws IOException { QuadrigaCxTransaction[] transactions = null; if (args.length == 0) { transactions = quadrigacx.getTransactions(currencyPair.base.getCurrencyCode().toLowerCase(), currencyPair.counter.getCurrencyCode().toLowerCase()); // default values: offset=0, limit=100 } else if (args.length == 1) { QuadrigaCxTime quadrigacxTime = QuadrigaCxTime.valueOf(((String) args[0]).toUpperCase()); transactions = quadrigacx.getTransactions(currencyPair.base.getCurrencyCode(), currencyPair.counter.getCurrencyCode(), quadrigacxTime.toString().toLowerCase()); // default values: limit=100 } else { throw new ExchangeException("Invalid argument length. Must be 0, or 1."); } return transactions; } public enum QuadrigaCxTime { HOUR, MINUTE } public QuadrigaCxTicker getQuadrigaCxTicker(CurrencyPair currencyPair) throws IOException { return quadrigacx.getTicker(currencyPair.base.getCurrencyCode().toLowerCase(), currencyPair.counter.getCurrencyCode().toLowerCase()); } }